CircleCI charges for concurrent job runs (which include self-hosted runs), no? They (you, I guess) obfuscate that by saying you get "Unlimited" if you take the "Talk to sales" route but that's not the same as not charging.
By default free plans can run 5x concurrently on self-hosted, 20x minimum for all paying customers, and yes there's a "talk to sales" for >20x on the pricing page
It's not obfuscated. The free plan gives you a max of 5 concurrent self-hosted runners. If you need more you can upgrade your plan: https://circleci.com/pricing/#comparison-table
There simply is no free lunch, somewhere someone needs to spend effort and time on managing the orchestration layer for the runners, and there is also network traffic and storage in play that costs money. If you need a future-proof CI/CD platform, it takes some investment. I agree that the Github "pay per minute" approach doesn't feel right, most people would probably find a "pay per orchestration job" or something more acceptable.
Anyway, there are alternatives out there :)