I recently did a clean install of Virtualmin on Ubuntu 18.04.3 LTS for a customer and noticed that databases were being created with a "latin1" charset instead of utf8mb4. Setting the "collation-server" and "character-set-server" parameters and restarting mysqld didn't make any difference (as confirmed by viewing the variables in Webmin or from the command line).
Long story short, I found by following symlinks from /etc/mysql/my.cnf that the configuration file that matters is at /etc/mysql/conf.d/mysql.cnf whereas the default path configured in Webmin > Servers > MySQL Database Server > Module config > System configuration > MySQL configuration file is set to /etc/mysql/mysql.conf.d/mysql.cnf (note the extra "mysql").
The former location does contain a file with plausible configuration parameters in it, so most people wouldn't notice that all their changes are being ignored.
I'm not sure how that initial default path gets set or why the decoy file exists at all. I'm guessing it was once a simple typo and the problem has propagated. It's possible that "fixing" it will break some future or past deployments. But it's definitely a real problem on this combination of versions.
Thanks! The next Webmin release will fix this default path