Not universal, but certainly very normal.
1. Transfer within a data center is usually free.
2. CDN reduce transfer fees significantly for static content.
3. Transfer is pay-what-you-use, whereas compute is traditionally pay-what-you-reserve.
AWS transfer are $0/GB incoming; $0.09/GB outgoing. A c5.large (1 physical CPU, 4GB RAM) is $0.09/hour.
So as long as you average less than 291KB/s from your single-core machine, you will spend more on compute than transfer.
Considering that you probably overprovision the CPU to handle spikiness, this is quite likely especially for a typical JSON API server (no images, no video, no web assets).
We picked AWS mostly because they are close to the backbone and because you really get something close to bare metal access. At the time this decision was made, similar access from various other providers was either more expensive or non-existent.
Is it the norm for CPU to be a bigger line item than transfer?