Have you tried my branches of node.ext.ldap and pas.plugins.ldap? (From GitHub.)
In addition to optimizations, I also added it to search all mapped fields (although, asterisk may still be required for partial searches).
Unfortunately, I had time to only polish a few fixes to upstream and all non-trivial and opinionated optimizations and fixed still remain in my branch. We've been using those with good results ever since, but I have no time this year to refactor more of the "fixes" for upstream