For every SF developer there is probably a just as good developer in Boise or Belarus willing to do the job for much less. Why should a SF developer who moves there make more?
People are worth a lot, but they become worth less monetarily as the talent pool grows in size.
(As I commented elsewhere, whether you think paying by local cost of living is the right policy is valid to debate but isn't the point here.)
I mean, the vast, vast majority of FB employees can easily get jobs with other companies. If you don't like it, leave.
I’m not saying they should drop your salary if you move, but I also don’t think a lot of people hired at typical SV rates are actually worth that much, so much as they can’t afford to live there if paid less.
An employer never pays you what you're worth, they pay you the lowest possible salary they can get away with.