Ok, I had a quick look at the code, and I think I do understand most of what's going on there. But since I don't work on a daily basis with OSGi some questions arise.
The biggest caveat right now is XMPPTCPConnectionBuilder, as I planned to apply the builder pattern at ConnectionConfiguration, to separate settings what require a new connection instance (like the service name) from those who can applied on the fly (like PacketReplyTimeout). The former settings are meant for ConnectionConfiguration, the later ones are just setter/getter methods in (Abstract)XMPPConnection (and their subclasses for settings that only apply to e.g. XMPPTCPConnection).
With your change XMPPTCPConnectionBuilder becomes what should be done with ConnectionConfiguration.
What purposes serves XMPPTCPConnectionBuilder? Is it just that smack-tcp is initialized? Couldn't we do it e.g. with a newly created class called XMPPTCPConnectionConfiguration.Builder() instead?