Think of it like this:
A Godot game is just one giant tree. The game starts at the "root" and calculates through the tree attached to it. A "scene" is just a sub-section of that tree.
You can attach and detach scenes to parts of this big tree. Once attached they will be processed and become accessible. If they aren't attached then they aren't.
Instead of "changing rooms" you swap out scenes. Instead of "accessing objects" you reference a branch.
Any leaf or branch can reference any other leaf or branch so long as it is attached to the main tree and you know the traversal to get there. You can use relative or absolute paths, whichever matches your design best.
Godot also has some node searching functions to find nodes if you don't know the path.
You can kind of deign your hierarchy to match GMs design if you want. Have a main node, Game, that you can attach your "rooms" to. Have a scene for each "room" that you swap in and out one at a time. For each room scene you can contain your "object" scenes.
The complexity of your object scenes depends on you. You'll figure out what you like as you go.
As a hint: try to design your scenes so they don't hard-code a reliance on other scenes. If you avoid this then you can test each element individually and swapping things in and out is much easier. Not the end of the world if you do, though.
Lastly, in terms of get_node paths, since some Windows users don't know this, you can backtrack up the tree with "./" to grab a sibling, "../" to grab a parent, uncle, whatever, and "../../" to get a grandparent etc.