You're looking at it as though optimising your individual productivity is the ultimate goal.
Companies are trying to optimise for the entire companies productivity which is not the same thing.
Developers can be super productive at home but will miss out in the random discussions and water cooler topics discussed with other teams, even their immediate supervisors. It leads to building the wrong thing which frustrates everyone.