I think you're right that transaction fees are a key problem. It's ultimately a bandwidth problem. You're bidding for the limited vbytes, and the bidding price only increases with traffic, kicking poor users out.
I think the key thing to recognise with petname systems is that there doesn't need to be this sort of "top-level consensus" as opposed to ecash systems.
You can have two instances of namecoin, say Namecoin1 or Namecoin2. You can just have different domains like alice.nmc1 and bob.nmc2 and have them interoperate properly. You can just keep forking blockchain-based petname systems to overcome the bandwidth/fee problem.
What this means is that Namecoin1 full nodes don't need to synchronize all the domain names on Namecoin2 and vice-versa. Similar to TLDs on DNS. We can imagine that there might be different petname TLDs for different global regions, and they might be merge-mined.
This isn't true for money applications like bitcoin or eth, because by forking BTC or ETH or something, you are creating new coins.