I understand, but the question then becomes why your library depends on dlopen and why you don't offer an alternative static method as Qt's "plugins" do. Doesn't seem like good design on the part of the NSS devs to me, and probably a poor choice of library on the part of the systemd devs to me. But maybe I'm missing something.
I mean, you could, but now your staticly linked binary still depends on other dlsym'd code. So whats the point?
(Not trying to make an argument that this is good or bad behaviour)