Absolutely. I see it the same way. After commercially programming for 19 years I've seen exactly zero progress in the human race with regards to that particular problem. It is apparently a built-in bug of our brains and everybody discovers it for themselves down the line (and 99% proceed to never fix it).
I think I recall one quote from a seemingly famous building architect (I think the guy who built the Fallingwater house, so Frank Lloyd Wright?) that was along the lines that you never put all expenses in plain view of the customer at first; you put a reasonable cost plan in front of them and then, after they are heavily invested in you, start giving them the other expenses (which are inevitable and not invented by you, let's accentuate that!). Many people call that a scummy practice but the truth is, EVERYONE is expensive, some are just better at selling themselves. So you have to give the customer the truth spoon by spoon because they prefer lies and truth is too hard to swallow at one bite.
And apparently that's how people tick. I don't like it either. But... blame the game, not the player -- as the saying goes.
I don't really have a solution for this, I think tech consumers/clients are just always going to want what they want and not care so much about what it takes to make it happen. Thus they will always be surprised and grumble about the price. That just seems like human nature to me.