When BIND module creates a new master zone it calls create_slave_zone on slave servers and passes it a list of master IPs. All these master IPs are going to the allow-transfer directive. This is wrong because it prevents transfering of a zone by other slaves (which can be specified in server templates of Virtualmin).
Here is part of code of the function create_slave_zone from the bind8-lib.pl:
local $allow = { 'name' => 'allow-transfer',
'type' => 1,
'members' => [ map { { 'name' => $_ } } @mips ] };
@mips is the master IPs list. It also may include cluster slaves (if the option 'Add other slave IP addresses to list of masters on slaves?' is checked), but this is not useful for external secondary DNS servers.
Which specific field in the server template did you use to enter the IPs of other manually added slaves?
It's "Additional manually configured nameservers" in the "BIND DNS domain" section.
Ok - the current Virtualmin code doesn't add the IPs of those additional nameservers to the allow-transfer block. This will be fixed in the next release though.