I'm a little fuzzy on why this would be happening, but it seems like a possible bug in the route53 provider.
I have a MX record for a subdomain subdomain, i.e. [email protected] that should point to A record of mail4.example.com.
Using either:
MX('department', 'mail4', TTL(600))
or...
MX('department', 'mail4.example.com.', TTL(600))
... it ends up in Route 53 with a recordset value of:
If I manually change the record in Route 53 to mail4 or mail4.example.com., dnscontrol picks up the change difference and changes it back to example.com., so it seems like an issue in the dnscontrol Route 53 provider.