At the moment, the self-registration won't work without PatronSelfRegistrationDefaultCategory but technically if you don't have categorycode hidden, then it should be unnecessary.
The template has markup to handle a situation where categorycode ISN'T hidden, but in opac.pref categorycode and dateexpiry are both hard-coded to be hidden.
(In reply to Owen Leonard from comment #1) > The template has markup to handle a situation where categorycode ISN'T > hidden, but in opac.pref categorycode and dateexpiry are both hard-coded to > be hidden. Ah right. This is probably one of those bugs that happens because of local customizations of mine [U+1F605]. In some cases, we allow people to choose from a limited number of category codes, and new self-registered patrons are blocked by default, so they have to be reviewed and approved before being enabled. I tell myself one day I'll upstream all the things...