I have a zfs pool called "data" on which I also put /var/lib/docker. Due to docker (in my case; for the sake of the question docker is irrelevant) zfs list looks something like this:
data 1.33G 133G 660M /data
data/1366b029121dbc907878e8a6fc5c481244b7aac11757fe63b94384fe64e48c6d 6.02M 133G 511M legacy
data/272a5f859a53ec996868fb0e4953f2219aadbd96c0cd3b8b9be09ee550b7d0e5 236K 133G 511M legacy
data/284641b6a43d2446be81ddf21fbeb70b781f6fb5f70025d88c44c19ed4728541 288K 133G
...
Now, if I perform a snapshot I do it with the recursive option (zfs snapshot -r data@snapshot-name) to have a snapshot of all datasets (mine - /data - and the docker ones).
By default snapshots are mounted in pool/.zfs/snapshot/snapshot-name.
Can I safely use pool/.zfs/snapshot/snapshot-name as a source directory for (consistent, thus the snapshot) backups or am I missing some data, respectively does zfs mount my snapshots recursively? I did not find anything in the docs.