packrat i use giant objects all the time. i never split code into child nodes unless that code is explicitly for that node. so far the only downside is i have to use the "Filter Methods" search bar in the script editor a lot.
It depends. If everything belongs together and it isn't too much code then it's fine to have it in one script. But personally I prefer to split my code into smaller components that each deal with (ideally) only one thing.
For example in my Defender Clone I have the Main level scene. But that script only deals with the higher level logic like loading/unloading the level (World), ending it after the player got destroyed or starting the next level after all enemies got destroyed. Also some UI stuff.

Even counting the score and dealing with lives and extra lives is done by two sub-components.
The "real" physical level with all the enemies and the background is in the World scene. But this World scene itself doesn't do much work either. Instead it delegates most of the work to sub-components.

There is one component that only handles the wrap-around of the player and enemies around the level. In Defender if the player or enemies fly all the way to one side they eventually come back in from the other side. meaning the level repeats.
Then there is another component that only deals with the timing of spawn waves and a special type of enemy called "Baiter" that spawns after a while. But again this script only deals with the logic of spawn waves and it has no idea how to create the enemies themselves.
Spawning the actual enemies in proper places and not too close too each other or the player is done by the spawn component.
This is how I prefer to write my code. Break things down into smaller units that each deal with a little bit of logic. At least as long as it makes sense to do so. And if everything works out perfectly then I could even reuse those components without too many changes in other projects. For example a movement component or a "firing shots" component.
I could of course put all the above code into the main level scene but that would make it quite long. Well, it's not too long, it would still be manageable, but yeah, I prefer to split my code apart a bit. But of course the problem with splitting it apart is that you need to look in several places and it's not always obvious how things are coupled.