Weird, that fixed it. I assumed that since the URL was exactly the same whether I ran it with ./nodebb start or ./nodebb dev, it couldn't be related to cache. I suppose I just don't know enough about how caches work.
Possibly related to the new verified-users, unverified-users groups. If your forum had the require email confirmation setting on and you upgraded then registered-users no longer have posting privileges. This is done by the upgrade scripts. But if you reverted without doing a database restore then registered-users won't have the privileges back.