In an old project I had 2.8TB of transfer per month between DCs (ie zones in AWS). The hoster provided that service for free, AWS bills this for 20$.
Incoming traffic is charged on a few AWS applications, not EC2, but some do.
That doesn't really change the point though; AWS Networking is magnitudes more expensive than competitors and they bill for things that are accepted as part of the service in other places.
This is incorrect. AWS does not charge for incoming traffic nor does it charge for internal traffic within the same zone.