Hmm i know a way to rule out if its really a config issue/bug or a issue by upgrading
What i would suggest are two methods where you can work with:
The luci method:
You create a backup via luci → System tab → Firmware/backup (it might show a bit different name but I’m on a phone).
Once you got the tar or gz file make a extra copy just to be sure, then open it with 7zip remove everything except for the path /etc/config there might be parent directories just keep the path as it is, now you can selectively decide which of these config files you want to include and which ones you want to ‘ignore’, you can delete them.
Then go to the gl ui, and reset, then upload your modified backup via the luci backup mechanism.
The winscp method:
You scp in the router and copy the folder /etc/config and then reset it and place for each the config back.
This is often the way i also choose if i don’t trust the keep settings , it normally should be trusted but you have no overview what has been changed, pointing to internal scripts which may or may not migrate to a newer version.
So after forever back and forth I finally managed to get it running again.
One thing stands out, however. Regardless of whether Nordvpn or Surfshark, despite a 200 mbit line, both never go above 90 or 115 mbit with openvpn and UDP. You don’t even need to mention TCP, it’s much slower.
So I tested over 30 different servers with both providers, all without success. Changing DNS didn’t work either.
With Wireguard, Nordvpn is at 100 mbit and Surfhshark is at 135 mbit.
It is supposed to work that you disable WireGuard and use OpenVPN TCP instead.
Sometimes this is necessary if UDP is failing. You can try to play around with the WireGuard MTU as well. But WireGuard is nearly impossible to troubleshoot if there are issues like this. So most will be just try 'n error.