Modifying data in existing blocks NOTE: I am a Bitcoin newbie. Please excuse (and correct) any wrong terminology in this post.

Can the transaction data in an earlier block be edited? Of course, it would break the verification of the Proof-of-Work because data will not match the final block digest. However, wouldn't the original data be lost, and the link to later blocks in the chain be broken? i.e. Anybody can figure out that the block has been messed with. However, how would the correct data be retrieved?

My guess is that there are multiple copies of the blockchain. Even if the data in a block in one copy of the blockchain is corrupted, other copies of the "true" blockchain will still be "out there" and will be accepted because they would be longer (have greater difficulty score) than the broken copy.

Is that correct?
Yes, your understanding is correct.  In fact, not only are there multiple copies, there are a huge number of copies: everyone who runs a full node has a complete and validated copy of the entire block chain, which they will share with anybody over the Bitcoin peer-to-peer network on request.

In fact, if your hypothetical attacker starts sending out their corrupted block, most users won't even notice: their software will validate it, notice it's incorrect, figure there is just something wrong with the attacker's data, and request it from some other node instead.