As far as I can see from the source, disconnect() will also not terminate the connection.
I first thought that simply changing JBOSH's close() to call dispose with null would be the better approach. But then I read
* Forcibly close this client session instance. The preferred mechanism
* to close the connection is to send a disconnect message and wait for
* organic termination.
So it appears there is an organic termination mechanism that is will happen once the session is disconnected. I assume that's simply the BOSH HTTP connections running in a timeout and being recreated. Which means everything is ok as it is.