I have the same question / problem, I cannot answer you but I can update you on what I found out so far. The problem with DKIM seems to be in the use of DKIM entry in DNS settings for the domain in question. In my case, I don’t use BIND for my domain DNS, I use an external DNS. But BIND is still enabled for my domains. So the DKIM key gets created in BIND, but not in the DNS that the registrar nameserver points to.
Maybe your situation is the same as mine.
If so, then the question is why are we not using BIND for all our domain DNS? My answer is because I didn’t know how to configure BIND so that the registrar nameserver points directly to Virtualmin as opposed to the 3rd part DNS zone.