This error usually means that the MX in your DNS is not the same as in the STS policy (which is created by MIAB automatically)
You mentioned you’re using external DNS, are the MX records pointing to the same host name as the box? If there is a mismatch, the STS policy will prevent it from delivering as expected as the STS policy makes sure the MX on the policy and the DNS match.
The greylisting tool, postgrey, stores server information for servers that pass the greylisting “test” so that future emails from the same address (or server, I forget) will go through immediately.