It wasn’t loaded because you didn’t have any zfs datasets being mounted and probably hadn’t enabled any of the zfs services so there was no reason to load it.
Other than that, zfs requires some upfront design and I think you need to understand the concepts of pools and datasets in a little more detail.
To put it in simplistic terms, you can think of a zpool as a container for your datasets. Likewise, the datasets represent the filesystem volumes.
I, personally, don’t recommend encrypting an entire zpool. That only limits your flexibility. Instead, encrypt the datasets within the zpool.
By default, zfs will mount your entire zpool under /zpoolname
but there usually isn’t a reason to do that. I usually create zpools without a mountpoint and then mount the datasets instead. It will work either way, but the latter approach will get you thinking less about the zpool and more about the datasets themselves.
There are a couple of attributes that must be set on the zpool and cannot be changed later such as ashift
so make sure you get those correct up front.