If MSFT is the sole holder of the copyright, then they can relicense it as they see fit. I think that they can only change the license on newer versions, so you'd be able to keep using the latest OSS version.
That is correct. If I get a version 1 of your program under license A you can't come back a year later and tell me the same code is now licensed under B and hinder the original freedoms of the license.
What can and does happen is that a new version is released under
a different license while the old version is made obsolete. In
real word that means you are stuck with the old version so you
either need to upgrade to a newer version with different license
or use something else. Real world cases are MongoDB and Redis
modules license change.