Not quite. The chain is not the data itself but Data Identifiers. This is an identifier to identify the type and hash of data, but not owners or content. In option B where we do not lock all records in place these can also be deleted/removed to save space. The point of data chains in terms of data is
Proof that data was previously agreed to be valid on the network.
So no need to keep old identifiers (even) as versioned data versions as it’s wasteful.
However as @neo said as he ninja’d me above This now makes it easy to introduce a “ledger” field in mutable data. This was in the early data chains POC code and allows you to say I wish to keep this old identifier (for a put cost or similar) and it wont be deleted. Then with the data itself and this identifier you can prove a transaction, so a receipt basically that never goes away. This can easily be improved to make the receipt cost free as well (user can keep the identifier plus the data and it will validate on the chain), but needs fully fleshed out.