I have a software team of around 100 people. I approve the comp planning for the org and I don't see what you describe in the dataset that I have in front of me. (I know that's only an N or 1 [or 100].)
Our squad leads make more than junior engineers. Our senior engineers make more than junior engineers. It's not a factor of 3 like in some other industries, but it's also on a much higher initial base.
If "making 3x more than the new college hire" is your primary goal, software engineering might not be for you.
If "making a crapload of money at a job that's so good I'd do it for free anyway, and having little to worry about financial security" is your primary goal, software engineering is gig that's tough to beat, IMO.
20 or 40 years of experience? I'll pay those two people the exact same (on average). Tech changes quickly enough that general software experience matters, but no one has 40 years of experience in .Net, JVM, or Javascript. I think that general software experience plateaus around 15 years or so, so I don't see much of a reason to think the employee with 20 or 40 years of experience is in any way more valuable than the employee with 15 years of experience. If they aren't any more valuable, they haven't earned the right to any greater comp, IMO. They drift upwards with inflation and the general market, just like everyone else.