I'm in a similar boat and thinking there might be a way. Not sure when it is added but there's an option to launch another flow as a command within the current flow, the current flow pauses until the other one is completed.
Within a loop You could have a wait for special key and include all your hotkeys as options to trigger it. Then have conditionals to guide the flow down a specific path depending on which of the trigger keys had been pressed. Inside those conditionals you could either launch flow2 or flow3, etc.
This first flow will be your always on hotkey detector and caller of flows. It is paused during other flows so you won't be able to use hotkey1 and then hotkey2 right after each other. Whatever hotkey1 triggers, it will have to finish before the first flow will resume to detect hotkey2 being pressed.
No idea if this actually works but from looking at the toolbox of options it seems like it should. It's not pretty, especially since if one of your triggered flows freezes or gets caught in a loop, your main flow will be frozen too.