That sounds awfully like a MAY. SHOULD is "MUST unless you know what you're doing, and you probably don't".
Sure. I'd rather it be non-normative, or even omitted, but that's not a change we can make at this stage I think.
I'm also unconvinced that specifying whether clients leave chatrooms or not when things happen is "UX" - it's client behaviour, and that seems entirely within the remit of a XEP.
I disagree. Client behaviour, especially user-visible behaviour, is exactly UX and is up to the developers of the app based on their use case, etc.
experience, too, but that's OK, as many things we do have an effect on UX. We assume, for example, that if you send a message to a client it'll be visible to the user sitting in front of it
We perhaps commonly assume this, but we don't require it in the spec and indeed there are clients which ignore various messages based on various criteria and I think that is a valid thing for them to do.