You may want to hide your Cell ID, for obvious reasons.
Actually it occurs I may have forgotten to login to the web UI BEFORE trying that API URL. LTEWatch wouldn't work without the login password either.
That certainly seems like the reason, as it would be foolish to leave API open without authentication.
I figured out why my performance was so random before, it was falling back to Band 20 which as we know Band 3 is where all the bandwidth is. I can totally understand why they would throttle bulk traffic like crazy on Band 20, otherwise VoLTE wouldn't work. But my goodness Three, tell us in the UI for crying out loud!
Band 20 is not only slower because it occupies lower frequencies, but also because it is limited to 5 MHz (versus 15 MHz that Three use on Band 3). I found Band 20 to give sub-10 Mbps speeds, more realistically around 6 Mbps.
Some 4G routers have the option to force specific bands in the UI, but I imagine yours does not. You can actually set the Band manually in LTEWatch by clicking the + next to "Frequency Band" as opposed to using automatic, just in case it would rather hop onto Band 20. Note: I do not know if this change is permenant in the API after a reboot.
Left appeared to be a good signal in the UI but yeah not so much. Middle is the new position last night followed by the same position right now.
The UI can be deceiving. But those stats are looking reasonable. The fact it was using Band 20 or perhaps switching between the two Bands may explain why the speeds were poor/inconsistent. Not a guarantee that it was the reason, since high utilisation on your tower may be the biggest issue.
You could benefit from using antennas by a small degree, or even buying a router with better internal antennas (or even better, using a new router with external antennas). You could try your luck with purchasing
this B525 from eBay since it's just a penny under £115. It's what I have, and even if it doesn't improve your 4G connection, you'll have better WiFi, Gigabit Ethernet, etc., and antennas are included with this one.
The upload seems to lock onto whichever ISP it identified, as does the ping test. So basically the result here only shows downstream combined, everything else seems to be the Three connection.
I do not know how pfSense works but presumably it would be, in your case, down to metrics. I am assuming that both connections have the same metrics, so it just picks whichever connection. Though for network transmissions that using multithreading can utilise both connections. If you used singlethreading (which is an option on speedtest.net) then it will just use one. It looks you were already aware of this, however.
Sorry, I do ramble on a bit. Hope it's not an annoyance!