You are not the only one. I have noticed this also when we were still using Openfire. Btw, removing the user from groups first had another benefit for us. It was cleaner. There were often left bogus roster entries when doing otherwise.
Maybe the server is removing the user first then trying to remove the from roster…that maybe will cause problems because the user needs to exist in order to remove with success from the roster…i don’t know.
Anyone is facing this i guess…who will remember to remove from the roster first?
Would it be hard to fix this?