Итак, после эксперимента выяснилось, что следующее работает вполне корректно: zpool create -o altroot=/path zroot /dev/device_name zfs set mountpoint=/ zroot zfs create ... ... vfs.root.mountfrom="zfs:zroot"
Никакого двойного монтирования и прочей хрени нет, что и неудивительно - rc.d/zfs всего лишь выполняет zfs mount -a, а поскольку корень уже смонитрован ядром - повторно это делаться, естественно, не будет. Возникает вопрос - зачем тогда эти пляски с mountpoint=legacy для корня пула и выставление точек монтирования для его потомков первого уровня, если можно просто mountpoint=/?