Depending on the channel vendor, the intent of the ids is intended to be opaque such that you can't draw inferences from the content of the id's. In the case of both Teams and Slack those companies have chosen to provide different ID's to each application such that no two bots could correllate the id's.
In the case of Teams/Skype mechanically, 28/29 are sort of address spaces for id's (I think 28 might be Skype and 29 might be Teams, but it's more complex than that in practice. The best approach to identify the user is to have them log in with some sort of credentials (OAuth, AAD), and utilize that to determine who they are.
Hope this helps.