You’re definitely on the right track with level instances, but you won’t be able to communicate between level blueprints ( easily at all ).
The Game Instance might be a much better route. It can be seen by all levels, and they can pass info back and forth. With an interface, if you want modularity.
Rather than making a mass ‘wiring nightmare’, it might be good to put a ‘manager’ BP in each room that you can talk to. That way, you can get a level working on its own, and it will be very similar for an instance, later.
Maybe if you can give a specific example, I will show you how?