I think this has to do with the fact that both users are expected to be in the same shared group (thus being able to see each-other).
if the roster’s user is not in the sharedgroup,and the item’s user in it.then the item origin is sub_to.because the sharedgroup is not equals user’s group.