How does it replace the IP layer? Don't the client to relay and host to relay connection still need to use TCP/IP?
Layers can be stacked on top of each other. It establishes a TCP connection without IP, but all of it runs on TCP/IP eventually.
That makes sense, being able to do socks5 and websockets without IP would be impressive.