Is your test TCP or UDP? My guess is that's TCP traffic.
Your VPS provider can rate limit as specific as a single UDP port. Try a different WG UDP port or wrap your WG traffic in TCP with other software and try again.
Having never used this software before, my guess would be your VPS provider is limiting the upload speed of the VPS. The data would be uploaded slowly to you, which means your download speed is limited as the client.
Meanwhile the upload speed is reported as being high enough, since the VPS can download your data at 50mbit/s, as this cap is higher.
Yeah I'd check for fragmentation, particularly coming from whatever was on the opposite end of this tunnel. This looks like librespeed (which is super simple to run in a container, ‘adolfintel/speedtest‘, if interested...I run some at work and it's very useful) so I'm assuming it was running on the server at the other end of the wireguard tunnel?
That latency and jitter are also absurd tho. Op should run a bufferbloat test on both sides. Though I don't always trust those results from librespeed.
You could try headscale instead, which doesn't actually pass much traffic between the VPS and clients (client to client is where the actual data transfer happens).
Or just test out regular hosted Tailscale to see if it will fit your needs.