I think that is the correct flow, yes. Let's summon nostr:npub1jlrs53pkdfjnts29kveljul2sm0actt6n8dxrrzqcersttvcuv3qdjynqn
But you don't have to store anything, you can generate these events on the fly upon seeing a REQ.
I am now thinking that another option we have is to specify these extra meta things on NIP-50. Like the search string could have a "category:nsfw" segment and then the relay interprets that in any way it wants.