Have you got this running in production?  What do the remote clients typically do after this timeout is hit?

I'm wondering if a DENYSOFTDISCONNECT is maybe a better default.
The reason being that we've just connected our socket to the encrypted end and there is currently no way to 'undo' that operation in tls_socket.js, so the connection is really in an unknown state at this point so a disconnect might be more appropriate as I can't see how the connection can possibly continue as we won't see clear text written to the socket after upgrade() has been called that I can see.