Usually what happens is that you get a customer team, that is supposed to voice how the organization wants the software to be.
So the same mismatch is bound to happen anyway.
And when they do involve the people from the field, depending on the company culture, they might even be quite positive on the demos (cause being negative isn't good) and then completely find it unusable on final delivery.
Agile misses that many engineering teams lack people skills to actually navigate and avoid these scenarios.
EDIT: several typos
Of course, this isn't applicable/possible for all types of software (you can't really iterate your way to an MVP nuclear reactor) but there's less of this than you'd think.
I have always appreciated product managers who effectively intermediated customers, had deep domain knowledge, managed stakeholder expectations, learned how to interpret what they said (and ignore what isnt relevant), asked the right questions, prioritize effectively and output to me a nice set of, de-noised, ordered, precise answers to the question "what do I do next?"
It's a rare skill. It boosts my productivity immensely when done right. It removes cognitive load from the developer.
Even when POs make mistakes and misinterpret requirements I still appreciate that being somebody else's problem. It quells my anxiety immensely and lets me focus on developing the thing right without having to worry about whether Im developing the right thing.
These agile ideas only work in an ideal world of "we are all friends here".
The skunkworks teams the developed the Apple MAC is one very good example.
The majority will rather pick other vendor that doesn't propose such change into their internal processes.
Unless they are asking for consultation on how to change work processes, that is.
"I thought this was your job" is something I've heard a few times from clients when we have sent over wire frames or beta applications.