It's just not gotten to that part. In some cases, a decent salary would have been required in order to support a move to a higher-cost-of-living area, but it still would have probably been surprisingly low.
As a manager, I made a pretty decent salary for a long time. I would not expect that, as a coder.
I have received a few rather direct answers, and once was privileged to be accidentally CCd in an email, discussing my age.
It's illegal as hell, but hard to prove, and not worth it. If you make a big deal out of it, you blackball yourself.
This kind of behavior has been rampant in the finance industry for decades. It's still crazy as hell, with 25-year-old kids running billions of dollars worth of other people's money through virtual slot machines, while acting like drunken frat boys.
When there's money to be made, people will look the other way. Check out the industries where there's not a lot of money to be made, like social service or education. You will see people being keelhauled regularly.