the HTTP::redirect command does, as you said, send a HTTP response back to the client with a status code of 302 (redirect). The browser will then receive this response and initiate a new connection to the new target (hostname:443). As far as I know it will tear down the previous connection and establish a new one - although if KeepAlives are setup, it may keep the connection open for future requests to port 80. The redirect is the same as the user typing in a new URL in the browser and hitting enter.
Now, if your desired goal is to get a client connected to a HTTPS backend, you can always have the BIG-IP terminate the HTTP connection and initiate a HTTPS connection to your backend server. This is done by setting up the correct clientside and serverside profiles in the Virtual Server settings. But, I don't think that's what you are going for.
One thing to note is that you'll need to make sure you don't have the same VIP configured listening on both port 80 and 443 or your iRule will get you into an infinite loop when it's redirected to 443 and then redirected back again to 443. This may not be the case but thought I'd mention it.
Hope this helps...
-Joe