My solution was this in 9.3 version:
You created a main zfs dataset, for example the name is mainNAS. Important, this dataset permission type is: WINDOWS ! The owner (user): ROOT, the owner (group): WHEEL. Set permission recursively: NO.
Then created additional datasets under the mainNAS, their names media, backups, test or other. These datasets permissions types are: UNIX ! The owner (user): bob, the owner (group): bob. Set permission recursively: NO.
So here you can adjust the individual shares permission, in the mode: Owner and Group every Yes, Other every NO.
Obviously, in the windows shares (cifs) set: apply Default Permissions: YES, and allow Guest Access: NO.
I hope I could help you
bye