Sorry, my mistake, on-demand XWayland is already implemented (See <https://gitlab.gnome.org/GNOME/mutter/commit/141373f0ba137152d412f1b6839fb20c1150f762>), but as a experimental feature and is disabled by default (See <https://gitlab.gnome.org/GNOME/mutter/-/blob/gnome-3-34/src/core/main.c#L729-752>, the commit called this and it by default returns META_DISPLAY_POLICY_MANDATORY, so GNOME Shell will just exit if XWayland exits as coded).