I disagree that it is inappropriate for a new hire to earn more than people who have been there long-term, as long as the reason isn’t discriminatory. I understand you touch open this in your post, but this quote doesn’t address it.
Companies look to promote internally because they can afford to offer existing employees a lower salary. But if there is no suitable candidate, they have to hire externally, which will cost more money as there is a business need to hire somebody in that position. For the person in HR who is offering the job, paying an extra few thousand dollars more makes no odds if it’s to the benefit of the company in the long run.
Experience pays, not length of service.