I agree. But what I've learned in my short time using Godot is embracing Godot's scene system and not fighting it seems to help.
This area in the documentation is helpful: https://docs.godotengine.org/en/stable/getting_started/workf...
You can also bypass the scene system. The scene system is a optional abstraction on top of a seemingly more data-oriented core where everything is just a RID (Resource ID).
More here: https://docs.godotengine.org/en/stable/tutorials/optimizatio...
> For example if you just straight up write code to add nodes to the scene graph it will create a disconnect between what is displayed in the editor and the actual game
You can solve this to some degree by putting "tool" at the top of your scripts. See https://docs.godotengine.org/en/stable/tutorials/misc/runnin...
It also happens in Qt and similar WYSIWYG visual editors where they often cannot render full dynamic content in the editors. But in all those cases you can just write everything in code without using the visual tools, and you can do that with Godot as well.