So no DNS records at all for the blog.domain.tld on the second server? (In other words go to virtualmin > edit server > then uncheck DNS domain enabled?)
Is the second server a DNS server for domain.tld (e.g. the secondary connected to the server that is hosting domain.tld, and presumably the zone for domain.tld)?
If not, then there shouldn’t be any records for blog.domain.tld on that server. Your records for blog.domain.tld belong in the zone of domain.tld. Whatever name servers are hosting domain.tld are also hosting blog.domain.tld. You’re not delegating name service for blog.domain.tld, so there’s nobody else with any business hosting records for blog.domain.tld.
Fantastic - I deleted the DNS records for the blog.domain.tld on server 2 and it still works! I’ve updated my post above and marked it as the solution in case it helps anyone in future. Thanks again for all your help Joe! <3
this is exactly why I dont use any local dns. nameservers for our servers are cloudflare and from there I then simply point to which server I want. A record for server 1 to 1 IP and A record for the subdomain to another IP
I can point any DNS sub-domain to any IP using local DNS on my Virtualmin. Just add an A record in the domain’s zone without creating a Virtual Server.