I'm by no means an expert either, so take what I say for what it's worth.
I had a similar issue, using EAP-MSCHAPv2. In my case, I had to create the cert a very specific way.
As the instructions state, I used my local host name for the common name. Then I had to add the external IP address as an IP type alternative name, and also as a DNS type.
I get connected just fine now. Only issue I now is, internal DNS names don't resolve. I can only my network devices by IP.
Hope this helps. Good Luck!