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.
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.
Agreed there's no free lunch, GH is moving from more generous than the industry to as-generous (or less-generous depending on your opinion of per-minute versus per-job).
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