This presents a drastic improvement in the bitcoin network cost and decentralization if:
Bitcoin Network Cost = Data Size * decentralization
Necessity is the mother of all invention. Simple is better until it is not good enough. We started from a system where 100% of nodes were full nodes and they downloaded the entire chain from a peer. SPV clients were added. Header first syncing was added. Downloading the chain from multiple peers were added. Pruned nodes will be added in the future. Each step provides enhanced scalability at the expense of complexity. A DHT store is just a progression along that sequence.
Right now I download the full headers and then download blocks in parallel from multiple peers. Today all of those peers have all the blocks but they don't need to. I only download a subset of the blocks from each peer. So the "extra" blocks they have but I don't download is unused.
I should point out the example provided is simplistic to avoid it being a multipage post. Also some people give DHT concept a bad name by proposing them incorrectly. The UTXO and blockheaders should never be part of the DHT. They are simply too critical and they are used for forward validation. Not having elements needed for forward locally is a bad design choice. It would mean that inter node traffic required to validate future transactions and blocks would be excessive. You are just trading bandwidth for storage and honestly bandwidth is more critical. Also it would make sense for all nodes to keep the tip of the chain to better handle reorgs and syncing up nodes who have been recently offline. How much of the tip should be kept is something which would need modeling. Getting it wrong doesn't compromise security but it can reduce efficiency.
Here is a simple way to look at it. Most people assume the full blockchain is used in real time to validate transactions and new blocks. That is incorrect and it leads to mental blocks in seeing how the data could be better distributed. If I need the full blockchain and I don't have it then how can I validate. What really happens is that the full blockchain is used to CREATE the UTXO. Once your node has the UTXO it never uses those historical blocks locally again. When a new block comes in it is validated and then used to update the UTXO. The new block is never used locally again. The UTXO is used to validate transactions and new blocks. You need a local copy of the UTXO. You don't need a full copy of the historical chain to create the UTXO but you don't need to keep it. If nobody has the full chain then that is a problem but a DHT can ensure that a full copy exists even if you only have a portion of it.