I agree, this doesn’t belong in general script where it could create mempool weirdness; also the DoS surface is real if checkpoints can be demanded arbitrarily.
Verification isn’t nearly as heavy as you suggest though. Every validating node already maintains the UTXO set; computing the salted hash once per epoch is basically a linear scan with caching. Incremental hashing techniques can make it even faster.
To reduce attack surface: commitment in the coinbase only, at most once per difficulty epoch. No mempool footprint, no risk of pinning attacks, and no repeat scanning. Nodes just compute and cache the root when they process the epoch’s first block, then check a 32-byte value at the epoch’s end. Producing that root is still expensive enough to require real incentives (sponsor still has to pay for it, and that's OK) - checking it is trivial.
Voluntary and expensive to make, cheap to verify, consensus-enforced if present but never mandatory. Miners and sponsors decide if it’s worth burning the cycles, nodes get a safe fast-sync path.
The key ingredient is sponsor-paid-work. This thing disappears if nobody wants to pay for it or mine it.