They aren't reducing people's salaries who "de-locate." So if they're clawing back any salary, it's long-term by giving them lower raises. It takes a while for that to kick in.
I think it is lock-in. Not just because it makes it somewhat harder to get in front of other companies, but because making a Bay Area kind of salary in a place with a non-Bay-Area cost of living sounds like the kind of thing that could make an employee very comfortable and very unwilling to go looking for another job. If you're getting like an equivalent of +$30k (or more), even if another company says, "Oh, sure, we'll hire you for $20k over your current salary... but you'll need to move back to the Bay Area," that's an offer you're much less likely to take than if you were already in the Bay Area. And local companies in your new place-of-work are unlikely to be able to match your existing salary.
I think it is lock-in. Not just because it makes it somewhat harder to get in front of other companies, but because making a Bay Area kind of salary in a place with a non-Bay-Area cost of living sounds like the kind of thing that could make an employee very comfortable and very unwilling to go looking for another job. If you're getting like an equivalent of +$30k (or more), even if another company says, "Oh, sure, we'll hire you for $20k over your current salary... but you'll need to move back to the Bay Area," that's an offer you're much less likely to take than if you were already in the Bay Area. And local companies in your new place-of-work are unlikely to be able to match your existing salary.