With respect, most of this comment is wrong.
- Both lz4 and zstd have almost no performance impact on modern hardware.
- compression acts on blocks in ZFS, therefore it is enabled at the pool level
- ZFS does indeed need to allocate some space at the front and end of a pool for slop, metaslab, and metadata. I think you are confusing filesystem and datasets.
Also remember that many permissions like nfs export settings are done on a per filesystem basis
- I'm not sure what you're trying to say about NFS and ZFS, here but this is completely false, even if you mean datasets.