yes, zfs cache doesn't seem sufficient to explain my problem. I was running with sync=standard, so ZFS should have honored fsyncs.
But there are write caches of the disks themselves. Just today I tried diskchecker.pl. Created a new 5 GB zpool using the same two SSD disks, turned off compression and atime, did sync; reboot -f to simulate my case. And diskchecker showed no errors, even though both disks report write cache enabled (hdparm -I).