Managed to sort this out. In 13th generation Dell PowerEdge servers the boot order of NICs is taken into account when PXE boot once is enabled with IPMI or redfish. It does not matter which NICs have PXE enabled. This is contrary to older Dell servers where the same kind of boot uses the NICs that have PXE enabled. NICs with PXE enabled are favored over NICs with PXE disabled, regardless of the boot sequence. It is also contrary to the PXE boot once that was initiated with F12 key press. So this was fixed by setting the NIC I wanted to be the first NIC in the boot sequence, and it does not matter which NICs have PXE enabled.
I am trying to PXE boot off either integrated NIC2 (Broadcom) or Slot1-port2 NIC (Intel) on a R730xd. I have enabled the integrated NIC2 PXE boot in BIOS / Device Settings and everything works if I press F12 button on boot to enable PXE boot. The PXE boot initiated by pressing F12 always follows the BIOS settings correctly, PXE booting the NIC that is enabled. But if I enable PXE boot using IPMI or redfish, the boot is using wrong NIC. It is as if the BIOS configuration does not matter when PXE boot once was requested using IPMI or redfish - it always uses the same wrong NIC, no matter which devices have PXE enabled in BIOS/UEFI "Device Settings" or option ROM. I am booting in legacy mode, not UEFI mode.   It works fine on older servers but only the 13th generation server has this issue. The same process works for older servers and all servers have similar configuration (legacy BIOS boot mode etc.) I have attempted both ipmi_boot Ansible module (which works right for older servers) and the redfish_command Ansible module. So when enabling PXE boot once using redfish, is there some way to force it to use "NIC.Integrated.1-2-1" or some other specified NIC?
IPMI and redfish PXE boot once uses always the same wrong NIC