If I had to guess I’d say the 5 second sleeps are probably right on the edge of your back-end keep-alive setting and it’s just a timing thing (though odd that each one is individually so consistent).
If you switch from a logData 0/1 block to combineSteps and turn on tcpdump you’ll be able to see if and when the server closes the connections.
DNS lookup will likely only happen once for the browser session. There is in-browser caching of DNS names. For any actual NEW connection then yes, you should see a socket connect time. Since this is a multiple-page navigation script, some of the requests can be sent on connections that were opened on one of the earlier pages in the test.
If you get rid of the logdata 0/1 and put a combineSteps at the top of the script you’ll be able to see a connection view of the entire test.