This is almost certainly a fragmentation issue caused by lower MTU and broken path MTU on the VPN. Drop the system to 1280 to troubleshoot, if things work immediately there's the culprit, raise it up til it doesn't or don't, I keep my VPN's at 1280.
EDIT: I do not know why its an issue with firefox and not chrome, it's likely QUIC fucking up since it cant fragment and needs to fall back to TCP, chrome is probably error handling this better... dropping the MTU that low will make the fallback explicit: https://blog.apnic.net/2019/03/04/a-quick-look-at-quic/
EDIT: I do not know why its an issue with firefox and not chrome, it's likely QUIC fucking up since it cant fragment and needs to fall back to TCP, chrome is probably error handling this better... dropping the MTU that low will make the fallback explicit: https://blog.apnic.net/2019/03/04/a-quick-look-at-quic/
EDIT2: Could also try disabling QUIC, instructions here: https://developers.cloudflare.com/cloudflare-one/policies/ga...