There is really no such thing as an HTTP connection. There are request-response transactions, and these can happen without needing to break down the stateful connection they're transmitted over.
Ahem: https://en.wikipedia.org/wiki/HTTP_tunnel#HTTP_CONNECT_tunne...
In this mechanism, the client asks an HTTP Proxy server to forward the TCP
connection to the desired destination. The server then proceeds to make
the connection on behalf of the client. Once the connection has been established
by the server, the Proxy server continues to proxy the TCP stream to and from the
client. Note that only the initial connection request is HTTP - after that,
the server simply proxies the established TCP connection.
Both HTTP CONNECT and WS are designed to work over http proxies, both are designed to tunnel arbitrary application data, both use http to initiate a connection, both use http application ports for these connections, and neither of them return to http request-responses once they're set up.
But somehow, WS is a separate protocol and stops being http, while HTTP CONNECT is just an HTTP extension and becomes some other application proxied over http.
I guess WS is just special.