The solution was to use Refind boot manager.
My setup right now has my Windows drive unchanged from a fresh Windows install, meaning it has the Windows boot manager. On the Linux drive, I have both GRUB and Refind installed with partitions for Fedora and Ubuntu.
I've let Fedora manage the GRUB installation. This is important because Fedora uses BTRFS, which GRUB doesn't fully support, so Fedora needs to manage all the entries because Ubuntu won't see the Fedora partition.
When the computer boots, it goes to the secondary drive, giving me the option to go back to the main drive and boot to Windows or boot to Ubuntu or Fedora. If I choose Ubuntu, it goes straight to Ubuntu. If I choose Fedora, it goes to the GRUB bootloader that Fedora manages. I couldn't get the Fedora option to go straight to Fedora, probably because Refind can't see Fedora's BTRFS partition. Another reason to let Fedora manage GRUB.
If I pull the Linux drive, my BIOS will still have the entry for the Windows Boot Manager, and it will boot straight to it, as if I'd never installed Linux. If I pull the Windows drive, Refind will just show the Ubuntu and Fedora options, as if Windows had never existed.
This solution works perfectly, the only tricky part would be if you had two BTRFS operating systems that couldn't see each other. I'm not sure how to solve that.
After all this, I really feel that any multi boot system should use Refind. It solved all my problems and took 10 minutes to install.