The workaround I have found at this point is to rebuild grub after migrating to XCP-NG. Adds a few minutes to each VM but I don't have that many.
Boot to live iso in UEFI mode (I used Debian12 given it was a Debian12 vm)
sudo su -
mount /dev/mapper/????? /mnt
mount /dev/xvda2 /mnt/boot
mount /dev/xvda1 /mnt/boot/efi
for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done
mount --bind /sys/firmware/efi/efivars /mnt/sys/firmware/efi/efivars
chroot /mnt
grub-install /dev/xvda
update-grub
exit
shutdown now
I'm using LVM so adjust the first mount to match your root partition.
I shutdown so that I can remove iso and boot when I'm ready.
Hope this saves somebody a bunch of frustration in the future.