So I just had an interesting revelation about how to force Time Machine to work more-or-less directly with ZFS.
You'll need Apple's Server.app for this to work.
1) Set up your ZFS Time Machine volume (eg, `sudo zfs create "tank/Time Machine"` and set your compression, etc. options to your pleasure)
2) Open Server.app -> Time Machine. Pick your ZFS "Time Machine" volume here.
3) (In Terminal.app) Add an extra address on the loopback interface: `sudo ifconfig lo0 alias 127.0.0.2/32` (or play around with `sudo socat -d -d TCP4-LISTEN:5248,bind=127.0.0.1,reuseaddr,fork,su=nobody TCP4:127.0.0.1:548,bind=127.0.0.1` as per @ilovezfs)
4) In Finder, mount your AFP shared "Time Machine" volume (eg, cmd-k, afp://127.0.0.2, connect)
5) Open System Preferences -> Time Machine and pick your "Time Machine" volume that will now appear thanks to Server.app.
You may want to use autofs to automount your "Time Machine" volume.
Now I just need to look into hiding ZFS volumes so that I can hide my redundant "Time Machine" volume.