Function get_winbind_pipe_dir in winbindd/winbindd_util.c accepts config "winbindd: socket dir" to specify socket directory in smb.conf, while in function winbindd_socket_dir in nsswitch/wb_common.c, the code is not updated. I don't think it is good to keep two functions of the same purpose. The latter should be the same as the first one.
The client code doesn't read the smb.conf. This option is really only developers and 'make test' where the client can be changed via an env var "WINBINDD_SOCKET_DIR"