Part I: Migration
The 'Copy Everything' Approach
This method is the fastest option. However, it's also the one that is most
likely to run into dependency breakage issues (missing assets/scripts,
and/or broken scenes/paths/resources).
To ensure compatibility, make sure to keep your file path structure the exact
same as it moves from the subproject to your main.
(* Note: Even then, you may still need to rename and fix things by hand, in
some cases e.g. class/file name conflicts.)
The 'Selective Recreation' Approach
While it may seem a bit unpleasant at first, re-creating your scenes is
probably the safest option. On the bright side, your assets (images, audio
files, etc.) and scripts can be carried over safely (*) without needing to
do any extra work (*).
(* Note: if you're using custom resources, you'll need to keep their script's file
path structure to ensure compatibility.)
Part II: Scene Switching
The hard part is over! Switching between your mini-games is as simple as
calling:
get_tree().change_scene_to_file("res://<path to your scene>")
(Note: you can get any file path by right clicking on a file and activating
the 'Copy Path' action from the editor's file browser.)
It's up to you to decide how you want to implement your scene selector UI. If
you need something basic, you can always opt to just throw a bunch of
Buttons in a VBoxContainer.
Related Docs
https://docs.godotengine.org/en/stable/classes/class_scenetree.html#class-scenetree-method-change-scene-to-file