Ugh. Didn't I read somewhere that you had some plan to implement some kind of cross-process rendering? How would that even work then?
That cross-process rendering refers only to one process providing the (complete) contents to a window (and backing wl_surface) owned by another process, but doesn't involve interacting with the wl_surface in any other manner. Although that's also not directly possible in Wayland, it's not extremely hard to export and send the rendered buffer to any other process/hwnd for presentation, which then attaches it and commits it on the corresponding wl_surface. The experimental branch achieved this by using driver window messages (I am skipping a lot of details, but that's the basic idea).
In the virtual desktop case the straightforward way to implement this would be to create relationships between wl_surfaces belonging to different process but Wayland doesn't support that at the moment.
Thinking aloud: If we really, really wanted to get this working, the desktop process would need to create and manage wl_surfaces for all the windows (handling both input and output). The other processes would have to render off-screen and then send the buffers to the desktop process for presentation. The desktop process would also need to forward Wayland events to the other processes for handling. We would be trying to meld the multiple processes into one. So, I guess me saying "is not possible" was not entirely accurate, but I think the complexity of such a solution is extreme enough to effectively make it "not possible". But perhaps there is workable approach that escapes me?