In my experience, it's waaaay more efficient for developers to be in the same room if you do it right, though I'm starting to think I might have a minority opinion on that.
As a developer, a lot of my projects are not something that I need the rest of the team to do and most of the time the team doesn't need me. Hanging out in the office together is fine, but a lot of developers don't need to be in the same room to write great code as a team.
There are plenty of cases where better documentation, training, or other means of communication would provide a higher bus factor than always relying on pestering another dev. Also, with video chat, it's harder to believe that it is so difficult to meet or plan without being in the same building.
I literally write more than 90% of all code away from the office. People walking by, random questions/discussions, pointless meetings that make people feel like they accomplished something even though they didn't or someone just wanting to burn a few minutes. Office hours are the least effective and unproductive hours of my day and so I've avoided being there as much as possible because I'd rather show features more than showing face.
There are some big picture, architectural design discussions covering many interrelated components that can benefit form in-person meetings but those kind of meetings are the exception and not the norm in my experience.
In my experience, it's waaaay more efficient for developers to be in the same room if you do it right, though I'm starting to think I might have a minority opinion on that.