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.