EFI can boot from any FAT partition on the drive. You can put any
bootloader you want on that partition (usually it is the first) and
EFI will be able to boot from it. Check your mobo documentation, but
for me the BIOS menu includes an «Boot from» option, to select the EFI
file from which to boot. Not knowing the OpenBSD specifics, it should
boot even if you move it.
If you have doubts, try to recreate your setup on a virtual machine
and try there.
Thanks for the help, but unfortunately it doesn't seem to be this easy.
I tried to copy the bootloader onto the other ESP and set my linux
bootloader to chainload it. It seems to boot but it tries to load the
kernel from the wrong partition and complains about a missing
/etc/boot.conf.
This is weird as I don't have this file on my real install. Even if I
had, the bootloader wouldn't be able to read it as I use disk
encryption. I figured that the bootloader was missing CLI arguments so
I tried to find out how to read efi variables from OpenBSD. This led me
to a reddit post from 9 months ago[0], which claims that OpenBSD doesn't
use efi variables and always assumes that it controls BOOTX64.efi.
This means that I'll probably need to change things on the linux side.
Either way, thanks again.
[0] https://www.reddit.com/r/openbsd/comments/haxyey/efibootmgr_openbsd/