Both options are viable.
But separating your game into multiple scenes can have various advantages. It's better for performance to have less "stuff" in the scene at once (while Unity can do some culling on its own to reduce the overhead of rendering things which are not on the screen, some overhead still remains) and most importantly it allows multiple level designers to work on different parts of the game at the same time.
The downside is that it makes the transitions a bit more complicated to handle, because you need to load one level, do the transition and unload the old. All without interrupting the game.
The easiest one is a fade-to-black transition where you use a post-processing effect to turn the screen dark, switch to the next level, and then turn the screen bright again. See "What is the proper way to handle data between scenes?" for how to make sure your gamestate information survives the transition. Another option is to load the new scene with LoadSceneMode.Additive
so both scenes coexist at the same time, do the transition, and then unload the old scene.
There are also various other approaches you could take. Which one is "best" depends on what aesthetic you are aiming for in your level transition and what fits into the architecture of your game.