I was able to accomplish what I need by setting
@local_domains_maps = ();
Since I don't have any domains that I process outbound mail for without corresponding users in LDAP, I don't need to explicitly list any domains. Since I don't have any users listed in LDAP that aren't considered local users (at least in that branch of my LDAP directory) I don't have to worry about exceptions and setting amavisLocal on users.
I had just assumed that all domains had to be listed for this to work. I was wrong and suspect others have made the same assumption.
LDAP implicitly prepends the lookup for a user to local_domains_maps. Hence my list is empty and I just deal with each user case by case as they send mail. LDAP does this lookup anyway so there is no additional overhead associated with this approach.
So far as the outcome of this change?
Inbound mail is no longer flagged MYUSERS. Outbound mail is properly marked.
This handles a constantly changing list of 50+ domains without having to mess with stable config files. I'm also able to use the MYUSERS policy bank as intended - just on locally generated outbound mail.
So far as the logs go, I like them to reflect reality. I often exchange log information with other sysadmins when having to troubleshoot mail pathing issues. If my logs are wonky the finger is automatically pointed my direction and I waste time having to explain anomalies.
I'm still checking total server behavior, but it seems this fix does what I need. I do want to scan outbound mail for spam so need to confirm that is enabled and working. Locally originating messages are now flagged correctly outbound.
Passed CLEAN {RelayedOutbound}, MYUSERS
Spam filtering on relayed mail no longer shows as MYUSERS. Currently appearing in logs as
Bocked SPAM {DiscardedOutbound}
Normal inbound mail is being scanned and logged as
Passed CLEAN {RelayedInternal}