Plain X11 is obviously out of the running, as that gives clients far too much access. Apparently[2] Xpra or xephyr can help here, but to what extent and how does it affect performance?
Wayland seems to use both sockets and shared memory somehow. Can that work with a VM or container? How? Is there another solution? (Pipewire?)
VNC works but doesn't perform well. SPICE might be slightly better?
[1] https://www.qubes-os.org/faq/#whats-so-special-about-qubes-g...
[2] https://firejail.wordpress.com/documentation-2/x11-guide/