Wireguard is the best (I find its great performance an order of magnitude better than tunelling via ssh for example).
I know stunnel serves different purpose, but still why would you need it for your service if you can be in the vpn and speak plaintext?
I only use it for shell access to machines in my home network, so I cannot remark on performance, but it is also by far the easiest to use VPN solution I've had contact with. Not that I'm an expert in this matter, but setting up Wireguard access was dead simple and it has never given me any trouble since.