That's true. Every system has some quantum of storage that must be handled as a unit, whether that is a logical block that can only be discarded entirely or whatever. But I think the relatively gigantic immutable extents discussed here are somewhat unusual.
Author here. With SMR, you do have large zones that are essentially immutable. However, in this case our extents and volumes are immutable because we do volume level striping for erasure coding. This mean that if any extent changes, the parities have to be rewritten as well. Others, do block level striping, so they can just move data around within disk. There are lots of trade-offs with both approaches. Also, keeping volumes/extents immutable makes reasoning through correctness much simpler.