Not helping here, but I heard a guy with Guix did that. Guix just builds a profile with the extra desktop parts, run it in a local container if you want and add that profile to the local software stack. Not a vm but maybe you don't need it ? Both the system, home and the desktop profile are declarative, so very mobile. I think he had his DE user profile remote also, so extremely minimal/air-gapped and stable solution with almost zero local data: system, home, desktop-profile, remote user profile (ldap etc).
In declarative operating systems, you describe what you want, and the system builds it for you. Your whole system configuration is a few files of std code (learning experience ;). Personally, I'm done with the usual monolithic distros. They are too error prone for my taste, and not really moving with the dev flow of operating systems imho.
Anyway, just a loose rumor/idea, I have no links and don't actually know how to do it, sorry.