I'm trying to figure out how to build coreboot such that I can boot both legacy and UEFI systems.
From what I can tell, most payloads will load either one or the other, but not both (unless Grub2 can do this - unclear to me).
GRUB as payload does neither BIOS boot nor UEFI boot. It does roughly the same thing as GRUB on disk, but is directly loaded by coreboot instead of the usual BIOS or UEFI bootloader.
On the other hand, is it possible to use tianocore + SeaBIOS as the primary and secondary payloads, respectively? Or vice versa, I guess. If so, how would one go about setting that up?
I would recommend looking into integrating SeaBIOS as a tianocore CSM (Compatibility Support Module, a module for UEFI that does BIOS boot). I have heard it is possible, but I am not sure if anybody did it and documented how.
Menuconfig doesn't let me set arbitrary secondary payloads, so I'm guessing I'd have to stuff it in the CBFS manually somehow, yes?
Yees. You can tinker with the components of an already-built coreboot.rom using cbfstool. In fact, that's how the space usage is printed out at the end of the build process :)