What version of Strophe are you using?
In 1.0.2, you can probably work around by modifying _doDisconnect()
so that it calls this._changeConnectStatus(Strophe.Status.DISCONNECTED, null)
unconditionally.
Strophe 1.1.1 seems to do that of the box (just looked at the code, didn't try).