Serious users paying $5~7 dollars a month for unlimited is not that cynical, I think. The company has to survive. The price might not be right however. They might try adding $12 a year + micro-fees per download as an alternative - makes more sense to have a bandwidth charge.
And there you have provided the workaround - https://github.com/tiangolo/docker-registry-proxy#docker-itself-should-provide-this - if you can trust it.
I pulled the docker version of "verdaccio" (which is the open source self-hosting server for npm). Ironically, starting verdaccio on docker up maxed out CPU usage indefinitely and I had no easy way to figure out was happening. (Ironic because verdaccio is to npm what docker-registry-proxy is to docker, almost). So I installed the apt version of verdaccio on a LXC (linux container) instead and it works fine. (Note: It probably wasn't the container that was the problem, but I don't KNOW that, and that's a problem.)
So I would say the bigger problem for serious users is verifying content of docker containers.