So…Features and Plugins configures Virtualmin, not the system. I know this is maybe unintuitive, but disabling a feature in Features and Plugins does not turn off the service or disable it.
This is kind of historic from back in the days when people ran fewer servers that did more things. The idea was that you may not want Virtualmin managing your DNS, but you might still want a DNS server running on the system. Likewise for Postfix, MySQL, etc. This is possibly not a useful distinction today. Maybe for services other than mail, if you disable the feature in Virtualmin it should also turn off the system service that provides that feature (assuming nothing else in Virtualmin needs it…e.g. we can’t turn off Postfix as lots of things probably need to send mail even if you aren’t receiving mail for Virtualmin users).
So, it is not a bug. But, it may be a wrong assumption to make for most Virtualmin systems today, and the more intuitive thing would be for it to also disable the system service.
This sometimes comes up in the opposite direction, too. People assume installing a Virtualmin plugin or Webmin module does everything to make that feature available, but often it requires installation of system packages and maybe some configuration to actually get that feature. There probably is a way to solve this more intuitively, but I don’t want to rush into an implementation…I’ll talk to Jamie and Ilia about possible solutions. Maybe we want a to push more installer smarts into Virtualmin, so disabling a feature can even uninstall the now-unnecessary packages, or enabling a feature can install and configure the package(s) needed (using the system package manager to install and virtualmin-config to set it up).