Late to the party but I had a somewhat similar issue and this is what I used to fix it.
I used a condition to check if “User.proxyAddress” is null or not.
If its null, then add the initial smtp values. If its not null, then either Ignore or set the same value.
This way, I can manually add aliases (which we offer to our users) and the ConnectToAD sync wont touch that field after it sets the initial proxy addresses for the new hire.