CoW deduplicates at the block level. Unless you rewrite the whole file, the untouched blocks will remain common between them and only different blocks will be allocated separately.
Continuous block level deduplication is resource intensive and not a great fit unless space is at a high premium.
Offline block deduping is interesting though, but only for solid state storage. For hard disks it’s a nightmare.