How to set GNOME Shell theme with home manager?

That’s not a workaround, that’s the correct way. Based on how the module is currently written, you cannot use "org/gnome/shell".extensions.user-theme, that is completely different from "org/gnome/shell/extensions/user-theme".