The speeds I saw with it and am seeing now that I've been using it again wander between 12 Meg and 21 Meg down, and between about 2 Meg and 4 Meg up - has always been the case. It does wander about because it's a contended service. 12 Meg was about the lower bound of the speed at any given time that I saw, but then I wasn't running diagnostics on it all the time.
To compare that with EE's 3G - that delivers between 0.5 Meg and 7 Meg down and between nearly nothing and 1.5 Meg up.
Comparing with EE 4G - that's between about 16 Meg and 25 Meg down, and 12 Meg to 21 Meg up. They all "wander" though EE 4G was/is the most consistent.
ADSL was consistent here - circa 1.6Meg down on a 1750kbps IP profile, and nearly nothing up just about all the time. Consistent, but consistently useless.
There are actually 3 Three cells we can connect to. Depending on signal strength the dongle might wander from one to another and each will have varying levels of contention. A correctly aligned directional antenna causes it to "latch" to the same one every time as it becomes by far the strongest signal. The strongest signal does not necessarily equal the fastest speed at any given moment because of contention.
The VPN is Astrill - yes, you can port forward, you can for instance remote to your machine at home using RealVNC over it and it does manage that even with CGNAT. We also have the private fixed IP address option too which is what causes the ISP to identify as "Simply Transit" and not "Three" or "EE".
https://www.astrill.com/pricing.php