By default most visual objects in layouts are non-global.
As such, when you move from a layout to another, all the non-global instances are destroyed. Global object just means that moving from a layout to another, the instance is not destroyed and stays on screen (which is not what you are trying to achieve).
If you are looking to have access to your menu even when ingame, you can look into making it a global layer.
To have "persistent" rooms, you have several ways to do so.
a/ Each room layout is a different layout in your game. As such, use the persist behavior for your objects.
b/ Each room is drawn on the same layout, you dynamically load/save/keep the current states of the room in some data structure (array likely).
A bit more difficult, needs a lot of organisation, you need, when leaving a room to keep somehow in memory the position/state/all useful infos in relation to the objects on screen. And you need when entering the room (likely the condition "On start of layout" or a function of your choice) to first destroy everything, and then place the correct instances in the correct positions/states you saved them in.
It's doable, it just require more events work on your side and a careful organisation/data structure/planning of what and how to keep it in memory.