So this probably isn’t going to be the neatest/easiest post to read(since I’m doing it in a very awkward way of course).
My solution via Blueprints is whenever you “Create a Session” using the Create Session node in Blueprints, during the way time(the upper right node), you could most likely doing a “loading screen” or just force it to do nothing and whenever you successfully you complete the action of “Creating the Session”, you get rid of what you have on the screen(either by removing all widgets of class or just remove all widgets, caution if you have a custom mouse cursor; this will get rid of it.) and then bring up what I like to call a “Hosts Selection Menu” which allows them to pick a gamemode(if you have that), pick the map by generating a lists of maps with a Combo Box(if you have that) and then every time you switch in the Combo Box, you promote a variable called, “Map”(or any other name) and then from there whenever the host clicks “Start, Ready” or something like that, it pulls whatever what was inserted into that variable and sends it to the map.
I know it’s pretty confusing(to me, at least); but that’s the way I have it in my game.
Here are some images of what I’m doing in my game, Lurking in the Shadows:

In this picture, we basically go ahead and see if they want it to be LAN(with a Checkbox) and see if they want to enable VALVe’s Anti-Cheat(with a checkbox) upon clicking, “Host”
We get the player controller that did it, get the maximum player count(which depending on the gamemode is different for me, you don’t have to include a variable to see how many players are going to be in a game and can just set it in the node. We see if it LAN is enabled(you’re probably wondering where VAC plays a part in this? I’ve disabled it on this graph to replicate without the use of any external third-party plugins which are being used in my game.)
So we create the session and while waiting, I display a “starting screen” widget and put that on the screen while it transitions and then remove that widget when it’s done and show a “Host Game” Widget, which is basically going to display something where it gathers the players and you can choose the map and extra settings.
Now in the backend of that screen where we host:
We do some things with selecting a map
:

In here, we get a combobox and put some map names and then when we “switch on string” we set a variable that changes based on what map we’re playing. And then whenever they click start:
We just get the maps name and travel to it!
If you need me to clarify, just ask me. Clients are a bit different in this approach, but works the same way essentially.