NAT has (almost) nothing to do with that.
The real reasons are twofold.
1. As others mentioned, the work of maintaining a self-hosted service. Nowadays you can add two extra related problems: people expect reliability (which is difficult and costly to provide, for a hobbyist or a lambda), and Internet has become an hostile territory you must defend against all time (it's "cavemen meet Wild West" level of civility, all day long, no rest).
2. The main problem with self-hosting, is that the throughput is often asymmetric, and rightfully so. From 75/1200 bps modems to ADSL, we have always needed more download than upload so systems were designed that way. When we write one message, we read hundreds of messages from hundreds of people, when we upload one picture, we watch a thousand of them, and so on. When you self-host, you reverse the roles, and your access is very quickly saturated, it gets unsuitable as soon as you have a few connexions.
Just enable the port-forwarding feature of your Internet Box, and you can host what you wish on your server(s); it takes 2 minutes in its web interface and NAT 'problem' is solved. But the other two remain.
> Were it not for NAT, I would have expected an explosion in tiny self-hosted personal sites around the time that dialup was replaced by always-on cable connections
NAT never stopped you from port forwarding 80 to your local server and many people (myself included) do this/have done this with even e.g. DynDNS to have a decent looking host address. At the end of the day managing your own server hardware/software is a far bigger barrier than NAT.
Also, port forwarding is _hard_. It might not seem like it to us more experienced people, but it's a problem that's not very googlable because there's a billion different admin interfaces for routers, and they all do it differently enough that you have to understand what you're doing, not just follow a guide, to port forward.
In contrast, if it was possible to make some simple software which regular people could install on their personal PC, and then they got a WYSIWYG website editor, and that software handled all hosting gave the user a link (ip address) to their website which they could send to friends, I imagine a lot more people would experiment with web publishing. Obviously, in order to run a site 24/7 on a dedicated server with its own domain would still be prohibitively hard for many people, but people would've at least been able to experiment and play with hosting their own simple website which they can share with friends.
Consider this: the application protocols that arose in the early days of the Internet were decentralized/federated systems such as NNTP, SMTP, IRC. But application-level protocols that are developed with a P2P or federated architecture today are niche rather than mainstream (like BitTorrent), or dead because a major company killed their adoption (like XMPP).
The canary was the loss of old-school active-mode FTP, broken by middleboxes impeding connections. Plenty of people saw this coming.
If anything, fifteen years ago (when VPSs where prohibitively expensive) we had a much more open internet than now.
[1]. For security reasons (if someone breaks into your wordpress blog they won't get access to your main computer) and uptime reasons (do you want to keep your computer on all the time? Does your home ISP have an SLA?)
[2]. If you're fine with a static blog, a few cents for AWS/Google/Azure plus CloudFlare should be enough.
Very directly, I would say, by making the barrier to running your own low-traffic website too high. Modern social media is all about hosting content - microblogs, photos, etc. Geocities was an early workaround to an inability to host things, and it's worth remembering that MySpace was originally positioned as a kind of evolution of that with the social aspects bolted on - it (notoriously) allowed arbitrary HTML, so that you could make your own "homepage" on the internet. Facebook further evolved this, offering a much more restricted experience. Were it not for NAT, I would have expected an explosion in tiny self-hosted personal sites around the time that dialup was replaced by always-on cable connections, and before long we would probably have had various wordpress-like frameworks to do the social aspects. Which is not to say we wouldn't have eventually had a Facebook-like entity, but it would have faced much stiffer competition than it did, and people would perhaps have been less forgiving of its restrictions if they'd had an easily-accessible wild-west to compare it to.