It’s perfectly ok to charge for GPL software.
Providing the source on a physical medium for a price is reasonable because no one should be forced to run a digital distribution setup and infrastructure just because they build software that derives from GPL pieces.
Their customers have a right to receive a copy of the source. But the company is not obliged to host an online accessible version of it.
Charging a small amount for a copy of the source is fine.
And I will go so far as to say that making demands about access to the source code in a manner beyond what the GPL requires, is actually hurting the adoption of GPL software, not helping it. Why should a company base their work on GPL licensed software if they are going to meet pushback even when they are complying with the letter of the GPL? They might just build something different all together, and with no open source at all. And where does that leave us? Definitely in a worse place.