The only complication I've found is setting up a relay myself. Private or public. I've managed to run a private relay, relatively straight forward but, barriers to entry to run public seem a little high and possibly costly.
I know this may not directly be inhibiting Nostr users who just want to use a public relay that's not their own relay, but I think it's part of the puzzle (as well as old habit's dying hard and the others you mention.