The skill of removing as much ambiguity as possible is valuable. This includes ambiguity derived from loopy brain. Prepare to still be amazed by wild interpretations, but minimize what you can. One tip is to reduce message complexity and clearly separate concepts (in this case, the greeting and the actual instructions).
I get that, and I've had a reminder of an old failing at explicit communication to end users on my desk for 5+ years to help keep me grounded, but come on... In what interpretation other than Yoda giving instructions would an English as their first language user think 'hey hey!' was the username I was providing? It's out of frame, but the previous three sets of IMs I've sent this user started with hey hey! hey hey! and hello hello! so it's not like this was even a one off weird greeting for them (I should probably mix it up a bit more but what can you do)
Actually it is not. 1:1 and group chats in Teams are stored in each participants mailbox.
Ignore this if you're using exchange server or other onprem or cloud solution for email than exchange online :^)
Also both are stored in clear text due to compliance reasons.
While SMS is rather insecure protocol, it's still generally the best way of delivering a new password to users as long as the username is delivered in a different way. This is mainly because it's one of the only methods generally available that is completely separate from your other communication methods besides calling (but try delivering password via call haha)
Also the SMS should not contain any context to which system it is meant for, this info should be delivered together with the username. It's sometimes rather easy to guess a username (such as first.lastname or shortened) but gets harder when you need to guess the system as well.