Just in case anyone else has the same question, my solution was to not allow new conversations to be started by registered users. I then used the add-on Start New Conversation to open a conversation from staff that new users can reply to - they just cannot start their own in order to spam users.