After a few weeks of work: a #GNOME session running on the #shepherd!
This implementation in #guile is completely independent of systemd and can run on any init system!
Thanks to @AdrianVovk for their help :)
#Guix will need this for GNOME 49, since the original GNOME session dropped the non-systemd implementation. Source code at https://gitlab.gnome.org/noe/gnome-session-shepherd