Ahhhhhhhhhhhhh, I think I now understand what is actually causing this bug! @Jamie, I believe it originates from the fix introduced for issue #112.
That fix automatically repairs outdated php_fpm_version metadata during a configuration check. However, the same check runs from Virtualmin’s postinstall script. On Debian/Ubuntu, dpkg may still be configuring PHP packages at that point, so Virtualmin sees an incomplete FPM inventory and can incorrectly replace a valid version.
This is now fixed in the patch linked below primarily by skipping FPM version repair during postinstall and leaving it for a manual configuration check after the package transaction finishes.