That's OK for preventing filesystems on the secondary boot pool from
auto-mounting when booting from the primary pool but doesn't handle
booting from the secondary pool - a "zfs mount -a" there will
automount all the primary filesystems instead of the wanted secondary
Don't do "zfs mount -a" from the secondary pool. Put "zfs_enable=NO" in
/etc/rc.conf there, set each filesystem in the second pool to
mountpoint=legacy, and list each secondary filesystem in /etc/fstab in
the secondary pool.
When booting the secondary pool no filesystems are automounted so the
main pool is not a problem in that environment.
When booting the main pool no filesystem from the secondary pool is
automounted since all of those have mountpoint=legacy.
I always use /boot from the secondary pool and select environments by
setting 'vfs.root.mountfrom="zfs:POOL/ROOTFS"' in /boot/loader.conf on
the secondary pool. That's OK since the secondary pool easily rebuilt
if necessary and it solves the problem of booting my main pool.
The main pool is many disks in RAIDZ vdevs and the BIOS cannot address
them all for booting. But the secondary pool is a single MIRROR vdev
and one dev in that vdev is on the hosts' standard SATA connector and
can always be entirely read via INT 13h.