You should be able to achieve it with level streaming: OpenLevel could open an entirely empty level with a sub-level, that contains your actual level. On BeginPlay, open up the loading widget (with inputs and etc), and start the level streaming. Once it’s done, you can remove the loading screen (or do whatever you want with it).
I believe, this way, your menu should work properly with inputs, as the level will be loaded async.