Okay I don't know why your demo has it set to 255 then
self.opacity = 255 if $scene.instance_variable_get(:@menu_transparency)
And yes, setting it to false and putting the Wait 1 frame should fix your problem. What you'll get as a background is just a "snapshot" of the map though. Nothing will animate or move around. If you still want things to move around, then you're going to need to put some safety checks in your events.
Make a conditional branch, Tab 4->Script, put
uncheck the box for when conditions do not apply, OK.
Inside the branch, put an Exit Event Processing.
(alternatively, use a Script event command and put inside it
It's not super obvious what it's doing but it's an option if you like one-liners)
This way, when the player is in the Menu, the events won't start until they exit out of it. Yes it's more work but there's literally nothing else that can be done script-wise.