That is an extreme overgeneralization. For instance, plenty of programming jobs involve a significant amount of time spent on collaboration and communication with designers, other programmers, customers, and stakeholders. That’s perfectly normal, and I would argue that in many cases those are the product development teams that will make the best products.
Unless all of those people just happen to sit next to each other or they're shouting across the room then an open plan office does nothing to help that anyway, you'll have to organize meetings to collaborate or do it in other formats. For customers and stakeholders you'd be lucky if they worked in the same building at all.
Face to face communication is not the only form of collaborations and IMHO it's the worst and least scaleable one for technical fields. And when you're collaborating through a mailing list or something similar (that doesn't involve interrupting each other) that's just another wall of text.
You do realise that these people will disrupt the work of the 15 people around them?
That's what daily life is in an open office.
The social interaction results in less work. Most of a programmers job is staring at a wall of text and trying to concentrate, anything that distracts has a serious impact on productivity. As for role crossover, I've got enough on my plate without being concerned about what other people are dealing with. Some cross-over might be good but there are many areas of a company that are completely disconnected and crossover is just noise.
> but one aspect of it that seems almost like fantasy is the idea that people primarily working on software might sit down in cramped cubicles and prefer fake privacy to real social interaction.
It's not so much fantasy as a portrayal of the time, the cramped cubicles are presented as bad because they replaced actual offices.