Well, when you want to make a VPN between MikroTik routers, OVPN is a poor choice.
It is better to use GRE/IPsec or L2TP/IPsec.
However, it is not clear if that will solve your problem, you provide way too little information to know that.
Yes, but VPN over TCP sucks. I would not say it is the definate reason you get low throughput, but
it certainly does not help, depending on the way you test it.
You should try to redesign the network so the use of better protocols becomes possible.
IPsec can work over NAT as well when you forward UDP port 500 and 4500.
However, when you have a bad internet router it may not like a high rate of port 4500 traffic either.
Use an IPSEC VPN. I have an IPSEC VPN set up between an RB750Gr3 and a Edgerouter-X. I get 80 Mbps throughput over the Internet, which is limited by the Internet connection speed of the two sites. Testing VPN throughput between the two routers across a switch, I measured about 200 Mbps.