You can add custom qemu flags by running $(guix system vm *.scm) -net user. As it is now there is no way to remove it, and I've said multiple times that it causes networking difficulties. Adding it isn't a problem. I think that the default qemu flags should be the minimum common denominator, and not include anything that could cause problems in a different setup.
Your suggestions for new guix system vm flags are additional code that has to be maintained. I don't think we need them. Besides are you offering to implement them? Because I'm not ;-)