As an opening remark, remember it's 2019 and WCF is obsolete and I"m personally glad to see it gone, and I strongly recommend against using WCF for any new projects and I advise people to transition away from WCF as soon as possible.
Does WCF use sockets internally for the communication in all cases. In other words is WCF a wrapper around sockets and is built upon them?
Short-answer: Yes, with an "if".
Long-answer: No, with a "but".
WCF is a .NET platform originally designed for SOAP - and SOAP has many different transports (most notably HTTP), but also supports other protocols (that all follow SOAP's general design, unfortunately), such as net.tcp
which is essentially a binary form of SOAP.
On Win32, networking is accomplished using Winsock - which is Microsoft's implementation of the BSD Sockets API - so if you're using WCF to communicate between machines then eventually your messages will pass-through Winsock - but this doesn't necessarily have to be the case - for example, you can avoid Wins