With IBM, one can't help but feel this is a tactic to force layoffs without having to actually do a layoff. I believe they tried similar tactics in their Global Business Services division in the mid-2000s.
Yahoo's policy affected about 180 people. That's about 1.5% of the company. Of those 180, about 60 were allowed to WFH. "Firing" 120 people in such a convoluted way is stupid. But the Internet continues to believe in stupider things, so who am I to ask.
Why is "stupid" for businesses to attempt to coerce employees to quit rather than to fire them? Evil, or assholish sure, but I don't think its stupid.
If they had layoffs they would have to deal with unemployment payments. They might have to deal with lawsuits. Dpending on laws they might even need to rehire some of them. They will certainly have higher short term expenses than if a bunch of people choose to leave.
If they do get rid of a bunch of people who choose to leave they are also getting rid of people who least wanted to stay, which some might see as a benefit. I don't think this is a good way to decide but I have heard much more stupid logic than this.
Because in the end it was performance based. If your performance was good, you could continue to work from home. So you could have fired the low performers directly (if you wanted to) without going through this whole WFH drama.
They probably took a good look at the performance of people onsite vs. offsite and noticed an issue and decided to act on it.
I view this move as a life lesson since they will most likely do their best to retain remote workers that are in-line or above when it comes to performance.
The rest will need to figure out what they want to do; you can't cry about this if you did not pull your weight.