I'm pretty sure ingress started off costing less due to the nature of usage. If you were to see a graph of the usage you'd see ingress is used less. One reason is an http request takes less bytes than the response to the request. So the disparity in cost can't simple be attributed to a desire to trap customers
Wholesale connectivity is usually priced per unit for the 95th percentile sample, in the dominant direction. For most cloud services, outbound is the dominant direction by far. That's why ingress is free in almost every hosting environment.
Additionally, settlement free peering is usually based on having a roughly balanced traffic ratio (something like 2:1 or 3:1 counts as roughly balanced), attracting more ingress traffic by making it free vs having paid egress helps the provider balance their ratios so they may help their case for settlement free peering.
The asymmetry is obviously meant to trap customers, which is anti-competitive.