Thanks all, I found the issue..
It was introduced by the recent Usermin systemd service change. Virtualmin was still using an old handoff path that briefly stopped/started Usermin and then reloaded it via the PID file.
With the new systemd/no-fork service model, that exposed a timing race where the PID file might not be available yet.
@Jamie, I fixed it in Virtualmin here:
@Le_Gallois, @jimr1, @stefan1959 You can apply that patch now, or wait for the next Virtualmin 8.2.0 release:
webmin patch https://github.com/virtualmin/virtualmin-gpl/commit/6ffcb87