This is an interesting idea. Would you mind bringing this discussion to
openvpn-devel@lists.sourceforge.net? There we have more developers which can follow this discussion.
Having that said, I wonder if OPENVPN_PLUGIN_FUNC_DEFERRED can be used in this case. This is a slightly different approach. But this puts authentication on hold until the authentication has completed. But OpenVPN expects another thread to complete the authentication and provide the result via the file given in the $auth_control_file env. variable. Your LDAP authentication could then run async, do the proper reconnect as needed and queue up the auth requests if the connection is broken.
See sample/sample-plugins/defer/simple.c for some more info about this feature 🙂