And I think the charges for inter-AZ transfer are to incentivize customers to do that.
Of course, to make them fully independent, you have to replicate everything, so you wind up buying several redundant copies of your system...
Yeah, and keeping around warm systems ready to failover in case of a zonal outage seems like a preposterous waste of resources.
The alternative... to keep around multiple replicas of your system in different zones, all ready to accept traffic and which do serve traffic, seems more practical and less wasteful.
If instead of availability being the only value, there would be a more value provided from actually using such resources, more folks would adopt cross-AZ architectures which would be a win-win for both the customer (get HA for lower or no cost and go down less often and succeed in the market) and thus the cloud provider (keep raking in the steady cloud revenue as the customer grows).
This is one of those gotcha's that company's hit. They see the public pricing page and think "wow that is much cheaper than one my internal IT department charges for X", and then when they go to actually implement they find that "best practice" says they basically have to more than double or even triple the cost to get a reliable system (more because not only do you have to duplicate all the infrastructure into a second AZ, you are getting charged for the replication traffic between them).
This explains the cost.
Price probably should be based on value, not on cost. Why do they charge for it? Because they decided it's a good way to make money and profit.