Provider: 
Consumer:
-----------------
syncrepl rid=042
   provider=ldap://hell.yahweh.net
   sizelimit=unlimited
   bindmethod=sasl
   saslmech=external
   starttls=yes
   tls_cert=/etc/openldap/certs/replicator.pem
   tls_key=/etc/openldap/certs/replicator-key.pem
   tls_cacert=/etc/openldap/certs/yahwehCA.pem
   tls_reqcert=demand
   searchbase="o=yahweh" 
Note two things: there is NO binddn; instead, you see tls_cert, replicator.pem. This cert replaces the binddn. 
Provider:
---------- 
authz-regexp cn=replicator "uid=replicator,cn=special,o=yahweh"
TLSVerifyclient demand
 
tlsverifyclient by default is never; in order for sasl external to work, the server needs client's cert. Thats why use demand/allow/try for tlsverifyclient. 
You need to tell the syncrepl provider how to find binddn from certs' cn. That's what authz-regexp does. 
On provider:
----------- 
authz-regexp cn=replicator
uid=replicator,cn=special,o=yahweh 
TLSVerifyclient allow/try/demand 
 raindoctor@gmail.com  |