Nostr is incentivized to stay small, and stay centralized. Because the relays, in almost all cases, get none of the zaps and none of the donations. So the last thing the relays want is growth. A certain level can be handled by the unfunded hobby network, but the incentives not to grow, but rather, to stay small. And that's OK.
Discussion
I think the great nostr design make it scale in a anarchic way: who want his data and his presence to be more widespread will pay or selfhost for his relays, other people will be less reacheble and have worse free-tier experience.
The precedent tries to create decentralized social media, the was intended to scale in a socialist way: some need to run the servers and put a smisurated effort and resources that benefit all the network, and all the others take the benefits without give nothing. This, or the more scalable solution to run the server and gain from exploiting users.
That doesnt work because nostr is too small. It relies on economies of scale. Nostr has 10,000 DAU. If 1% paid $10 a month. That's only $1000 a month for ALL the devs, all the relays, all the servers, all the storage, all the bandwidth. A talented dev can earn $1000 in a few days. Nostr would need to be at least 10x bigger for that to make sense. And the dev time costs many times more than the storage or revenue. Self hosted, sure. But that's how nostr was in the first few years, and there were less than 100 people, which is less fun, socially. But it's all good, just saying that the incentive system is such that nostr is incentivized NOT to grow.
I think as protocol the incentives are set to scale and become widespread, as network it will encounter these problems, I would expect a different topology from what we have today. The good think is that the incentives are set as leeching is difficult and avoidable and this help scale in a healty, and maybe slow way.
Today a great part of the network dont pay relays, as userbase will grow, free relays will probably vanish (and userbase will have problem to grow at this point, I agree with you).
If relays were smart, they would want to collect as much data as possible