Don't bother using df with ZFS. It doesn't know how to handle ZFS file systems that all share the same space. Not that that's the issue in your case but df will often give incorrect information for ZFS file systems.
In your case the df output is probably right (or at least closer). zpool list shows the raw pool capacity without taking redundancy into account (in most cases). For example with a 4 disk RAIDZ, it will show the capacity of all 4 disks, even though you'll lose the space of one disk to parity.
To see available space you're better off using zfs list.