Wireguard lib arduino with config not working on ESP32

I'm looking for a couple of days now what is wrong with the setup. Wireguard is running on my pfSense and i have created a peer for my ESP32. The config works on any other device i'm trying, but if i use it on a ESP32 it doesn't connect.

I'm using the example-code, changed the keys and won't see a handshake in my pfSense.

source: GitHub - ciniml/WireGuard-ESP32-Arduino: WireGuard implementation for ESP32 Arduino

if you change this line near the top:
char endpoint_address[] = "link.arc.soracom.io"; // [Peer] Endpoint
you should probably change this line lower down:
client.write("Host: harvest.soracom.io\r\n");

Still not working.

So just to go through everything.

Wireguard config:

[Interface]
PrivateKey = MyPrivateKey
ListenPort = 51xxx
Address = 10.10.10.x/32
DNS = 10.10.10.x

[Peer]
PublicKey = MyPublicKey
AllowedIPs = 0.0.0.0/0
Endpoint = MyEndPoint:51xxx

Arduino:

// WireGuard configuration --- UPDATE this configuration from JSON
char private_key[] = "MyPrivateKey";  // [Interface] PrivateKey
IPAddress local_ip(10,10,10,x);            // [Interface] Address
char public_key[] = "MyPublicKey";     // [Peer] PublicKey
char endpoint_address[] = "MyEndPoint";    // [Peer] Endpoint
int endpoint_port = 51xxx;              // [Peer] Endpoint

Can you confirm that this is the right way?