It's called constructive dismissal. The burden of proof is on the employee and it's a very high bar. If the employer has any excuse it won't work. "We didn't have enough work for them", or "there was no budget for promotion" would be sufficient to squash the case.
The other thing that is happening concurrently at Amazon is Return To Team (RTT). Let’s say that you didn’t get hired with “virtual” as your location, but Seattle. Your leadership has decided that the center of mass for your team is Austin (or Tempe, or Arlington). Not only do you have to RTO, you have to return to that office.
It is different in that you have a choice. You can either adapt to the new policy (work conditions change) or you can leave. Totally up to you.
Why do you view it as a false choice?
Surely an employer and employee are free to choose the employment terms and when the terms are deemed unacceptable to either, they can part ways?
If you're a top notch Amazon engineer, for example, and you don't want to uproot your life it would be fairly easy to find another job that is more suitable, don't you think? All employment relationships have tradeoffs.
Concur that the employer has to behave within the confines of the contract. If not, that's a contract violation and they should pay dearly. Is it the case that they are violating contractual terms? Or are they operating within the flexibility offered by the contract signed by both parties?
For example required on premises work, assignment to undesirable projects, moving to a different office.