This makes a ton of sense, if you already have an index of all the blocks why not let the filesystem know and save some space and improve cache utilization.
Is this done eagerly for existing files or only when writing new files?
There are several comments about filesystem support in this article that I think are just patently incorrect. Exercise for the reader to suss them out.