I'm using genkernel to create the initramfs in the BE (which gets kexec'd by zfsbootmenu). That initramfs only accepts a ZFS root option in the form of root=ZFS=<dataset> or root=ZFS. If an option of the form root=zfs:<dataset> is supplied, it fails to boot.
I have set org.zfsbootmenu:rootprefix="root=ZFS=" on <pool>/ROOT, and this fixed the problem.
Not having to configure this would be nice.