I think you're both overestimating those costs and also underestimating the difficulty of just being able to suddenly pay 1.2X for people.
Re: institutional knowledge and expertise, etc - we tried to avoid too much concentration. If all the institutional knowledge for system X is tied up in person Z, what if they want to take on to a new roll, or I want to ask them to work on a different system or a new project? I like people who focus on what they can do next, not solely what they've already done. Otherwise it's a bad place for the company to be even if someone doesn't leave. Change is a constant, flexibility is good.
Re: personal relationships - morale is always something to keep an eye on, but someone having an exciting new opportunity never seemed to hurt the rest of the team's morale that much.
I think you're also making an unspoken assumption that the new hire wouldn't be superior to the person who left in some areas! The most common case of this was "generalist who built a ton of stuff in an earlier phase of the company leaves, replacement is more experienced in the specialized area that that generalist was currently working on since the company was larger now and they couldn't contribute to everything as easily," but that's hardly the only way.
And lastly, as I alluded to about budgeting more to keep the top two performers than the third - I think you're overestimating the amount of effort and/or success put into by the average developer at becoming the go-to expert on specific techs or business processes. If I tell my manager "I know the second most about React, the third most about Node, and the second most about the plugin system business logic" I'm not going to expect them to find me irreplaceable.