I've been exploring PeerJS (https://peerjs.com/) recently. This seems like a similar concept. Would it give me anything that PeerJS doesn't?

I'm the Trystero author and I'd say both libs attempt to accomplish the same goal but with very different APIs. One key difference is PeerJS uses a single centralized server by default for matchmaking, whereas Trystero offers lots of flexibility and redundancy, using various signaling connections in parallel.