How is this making it more complicated?
The “why” is pretty simple: the WireGuard protocol is really nice and makes a better protection layer than DTLS in my opinion.
All this implementation does that is different is make hosting public services (accessible to unknown peers) possible.