On the repeat visit, the preconnect/dns-prefetch will indeed be useless if all resources are taken from cache. But they will not increase page load time. They happen in parallel of page loading, and cache reads do not wait for DNS/TLC/TCP resolution. So the only drawback is that you create unused TCP connection and slightly increase the load on the server.
CLICK HERE to find out more related problems solutions.