I have some questions too... So for booting a vm we don't actually need a boot loader, since it passes the kernel image through the -kernel flag. I don't think it's relevant that grub is installed in the MBR. So getting guix system vm --system=armhf-linux to boot doesn't actually require uboot... It just needs to make sure that grub isn't pulled in as a dependency (since there isn't a substitute for grub on arm/mips).
@Danny: Did you write install-uboot.c? I don't have a clue what it's doing =P I don't really know anything about filesystems or bootloaders...