Cost of living should not dictate your value to the company. If you're an engineer supporting x number of users worth y dollars, it literally does not change what you bring to the table whether you do the job in SF or Birmingham.
Yes, they could hire cheaper in Birmingham, but they can't hire _you_. If you have a proven track record of doing incredible work, then you should be paid accordingly. What you pay in rent/mortgage/etc is none of the company's business.
I would argue that if you're a SWE and you go along with this, you're complicit in the wage fixing that this industry has had to grapple with for ages now. Demand to be paid what you're worth or walk.
(And yes, I get that some people can't afford to be choosy. Those of us who can, should be, though.)