Postfix: Recipient address rejected: User unknown in local recipient table, even though recipient domain is an external domain
The parameter that's you should aware of is parent_domain_matches_subdomains.
A list of Postfix features where the pattern "example.com" also matches subdomains of example.com, instead of requiring an explicit ".example.com" pattern. This is planned backwards compatibility: eventually, all Postfix features are expected to require explicit ".example.com" style patterns when you really want to match subdomains.
So, parent_domain_matches_subdomains holds the list of domain that postfix should match its subdomain too even without (dot) in front of it.
Unfortunately, the relay_domains
parameter fall to that list.
# postconf parent_domain_matches_subdomains
parent_domain_matches_subdomains = debug_peer_list,fast_flush_domains,mynetworks,permit_mx_backup_networks,qmqpd_authorized_clients,relay_domains,smtpd_access_maps
And because your relay_domains
contains $mydomain
or central.mydomain.tld, postfix matches all subdomain of central.mydomain.tld as relay_domains
not external ones.
The solution is set parent_domain_matches_subdomains
and don't include relay_domains on those parameter.