I'm thinking of javascript clients in web browsers as we have today. They can't do wireguard. I don't even think they can do DNS lookups.
Also wireguard isn't going to protect anybody's IP address. VPNs work only by virtue of mixing a bunch of people into the same IP address and adding an extra hop.
I've looked into WebTransport, abusing HTTP/2, and other alternatives over QUIC and I think that websockets is still the best choice.
As for every client being a relay, please elaborate. What does this bring us?