Storage driver type for containers hosted on zfs storage backend?

My use case: running LXD (5.0.3) containers in VM’s that are hosted on a ZFS storage array (Truenas core 13). The hypervisor is XCP-ng, and VM’s as well as the containers are on shared storage. I have tried zfs storage driver on NFS shares and iSCSI targets. When I use zfs as the storage driver in LXD the performance is very poor and ends up corrupting data it seems. I believe this is due to a version mismatch of ZFS - Ubuntu being 2.1.5 and truenas being version 2.1.9. I could be wrong, but according to openzfs it’s not good to mix versions stacked on top of one another.

My question, what is the best storage driver to use in my use case? I am currently testing the lvm driver in a test pool since zfs did not seem ideal with a very slow file transfer rate. The VM OS (Ubuntu 22.04) is using ext4 filesystem. I have tried the zfs driver as well as btrfs. It doesn’t matter if I use local storage or shared storage, the symptoms are the same of slow I/O, unless I use the lvm driver.

Thank you

I gather from this post: Nested containers issues (permissions, zfs, possibly something else) - #2 by stgraber?

The correct storage driver in my use case is dir, since we can’t run zfs (nested) when the external storage is running zfs.
From Stephan: " If your outer storage is ZFS, then your only option for nested storage driver is dir ."