I've had this problem frequently but randomly. I was finally able to track down one set of triggers for the issue, but not a direct fix... only hackish, partial workarounds.
For example, "Groove" or "Movies & TV" will try to grab the associations of music and video formats. The only solution I have found is to uninstall these seemingly uninstallable programs.
The above article describes how to use (admin)Power Shell to temporarily uninstall some Microsoft installed apps.
Get-AppxPackage *zunemusic* | Remove-AppxPackage
Get-AppxPackage *zunevideo* | Remove-AppxPackage
After uninstalling these apps, Windows 10 has never tried to re-take these file associations. I was half expecting it to try regardless and break the associations completely, but was fortunate.
Unfortunately this will not fix all of these problems. PDFs will continue to revert to Microsoft Edge because it cannot be uninstalled by this method.
I was able to track down a trigger that causes this to one of my programs. Though I'm not certain that it is the only one that does it as it only causes some associations to change. So more likely it is certain actions that the program causes sets up the first trigger; and another program completes the trigger sequence.
According to procmon, it does some registry snooping with file associations. The second trigger is to open a program that is associated with a file type that often reverts. That second program also snoops at file associations according to procmon.
What I imagine happens is that the first program does something to corrupt the "protection" Windows 10 has for programs changing file associations. Opening the second program causes Windows to re-check its protection and when the hash/progid ends up being invalid, it gets reverted to Microsoft defaults.
For example, I can see an old version of PhotoShop and Firefox doing this. They both look at the key
Program 1 messes up the hash/progid somehow, Program 2 which is associated with the type makes Windows re-check it and revert it. I'm a little mystified as to why it's deemed corrupted to begin with because the file association is correct before and after Program 1 does its thing. The association wasn't hijacked, so it didn't need Microsoft's overreach to begin with.
Not all of my systems have the same programs installed, so I'm guessing there may be many esoteric old programs that cause the first trigger event. Aside from my original workaround above, I guess you could be mindful using the offending programs. (shrug)