> subtree-exclude existed for a long time, and was documented in slapd-meta(5); subtree-include was added in 2.4.24

I tested your solution below with release 2.4.25. The result is that server1 is properly invoked when base is "ou=S1,ou=A,o=B,c=C" but it is not invoked when base is above (ou=A,o=B,c=C).

database meta
suffix ou=A,o=B,c=C
# ...
uri ldap://server1/ou=A,o=B,c=C
subtree-include "ou=S1,ou=A,o=B,c=C"
uri ldap://server2/ou=S2,ou=A,o=B,c=C

Actually, I don't understand how subtree-include works. I also tried a few other solution using syntax dn.subtree and dn.children, but I had new problems.

Never mind, as subtree-exclude seems better for my need.