This is not a Nostr problem. Nostr as a protocol is censorship resistant.
This is also not an example of "top down censorship," because Nostr has no-one in charge. Anyone can do anything they want, and what one client developer or dev-team does has no authority over what any other client's developer does.
Individual Nostr clients will always have the ability to censor particular users, particular words, or any other metric they want to use, and the same is true for relays. The thing that makes Nostr censorship resistant is the fact that there are a variety of relays and a variety of clients, such that even if one relay or one client censors you, your notes can still be seen on other clients and fetched from other relays.
Nostr was not created with the expectation that every client and every relay would be a free-for all, allowing notes from every user, no matter how offensive, to be seen. Quite the opposite, in fact. It was expected that clients and relays would make very different choices about whose notes they censored and why, and whether they would censor any notes at all, so that if a client started censoring someone people thought was worth paying attention to, they would move to a client that did not censor them, and that censorship would be obvious when comparing feeds between two clients where one censors what they deem as offensive speech or spam while the other does not.
A single client censoring an offensive user's posts, while they are still visible on every other client, is an example of Nostr working exactly as intended. If you don't like what Primal is doing, then you don't have to use Primal.
"Outside of CSAM anyone should be able to post what they want no matter how offensive or volatile."
Two things to note here. First, no one has actually prevented fuckstr (npub16ug…gsfk) from posting. He can still post whatever he wants, as long as there are relays accepting and relaying his notes. Primal alone has prevented those posts from being seen in their apps, and they have every right to make that decision if they think it is best for their users. Their users also have every right to say, "I disagree," and move to another client.
Second, the same thing that ensures fuckstr (npub16ug…gsfk) is able to post whatever he wants ensures that CSAM will always be an issue on Nostr. There is no way around that. If the architecture of Nostr is truly censorship resistant, then the offensive forms of "speech" we don't like will always be able to exist alongside the offensive speech we do like. If a form of speech you don't like can be entirely eradicated, then the same method used to eradicate it can be applied to speech you do like. Because CSAM is nearly universally offensive and illegal in every jurisdiction I am aware of, more clients and relays are likely to take measures to censor it, as they should, but there will almost certainly always be clients and relays out there that take no steps to censor it whatsoever.
