You don’t need the part for BIOS systems and you have a space between ($root)
and /EFI/Haiku/BOOTX64.EFI
.
I also recommend using the search instead of hardcoding the disk, because its path can change while UUID does not (I got bit by that previously).
UUID you’re using also looks wrong, FAT partitions have a different format. See https://wiki.gentoo.org/wiki/GRUB2/Chainloading#Dual-booting_Windows_on_UEFI_with_GPT