I would strongly recommend against having an external tool generate ZFS snapshots of LXD datasets.
One significant constraint of ZFS snapshots is that you can only restore the latest snapshot, so if you want to restore an older snapshot, all intermediates are lost.
LXD knows this and handles it by either removing those snapshots (if configured to do so) or letting the user know that they need to do a copy instead. If something external to LXD starts generating snapshots, this logic no longer works and you end up in a situation that’s hard for us to support.
Instead I’d indeed recommend having snapshot scheduling configured in LXD so that you end up with proper LXD snapshots of the instances you care about.