I feel like I am missing something very simple / basic here, but I wasn't able to figure out how to mount a ZFS dataset such that the mount point (root directory) has a given uid/gid ownership? Something along the lines of:
root# zfs mount -o uid=[uid] -o gid=[gid] ....
The ownership of the (root) directory is a property of that directory. If you want to change it, you have todo this once the filesystem is mounted. This has nothing todo with zfs. Only filesystems drivers for filesystems like FAT or VFAT which do not have file ownership as a built-in property allow you to set the user/group at mount-time.
So to answer your question
is all it takes.