No company is going to be looking to spend a million dollars for 300k users
This is completely wrong. Customer acquisition costs are nearly always more than a few dollars, sometimes thousands of dollars (tens being common).
There is an added cost to using a blockchain vs a database, on that I would agree, but with the right business models, the cost is easily justified.