How do I stop Microsoft Teams from auto-changing my status?
I assume that you are using Outlook 365. I believe it is the case that your Teams presence status is tied to your Outlook calendar events. Whenever you have a meeting where you've marked yourself as 'busy' or 'out of office' for that calendar event, it will reflect on your Teams status as well. To answer your question, going forward, you will have to mark your calendar events as 'free' instead of the default 'busy', unless of course you are actually busy.
As Teams changes status according to Outlook calendar, I just schedule 'appointments' and set it to show as Free / Out of Office, with reminders disabled. It mass pollutes the calendar a bit, but at least get the Teams status to behave like you want as a workaround.
I do this, especially in current pandemic and working from home, to let co-workers know when I am on or not, and not to message me just because my work phone triggers a Teams status that I am available when I am really not, prompting some late workers or out of continent folks to poke for stuff. :P
You can keep your status to show available even if your not at your computer by setting your mouse on top of an analog clock or watch that has a second hand. The movement of the second hand makes the computer think you are moving and the status will remain active.