Have you considered "reflinks"? Supported as of [OpenZFS 2.2](
https://github.com/openzfs/zfs/pull/13392).
Haven't used them yet myself but seems like a nice use case for things like minor metadata changes to media files. The bulk of the file is shared and only the delta between the two are saved.