I have very poor 4G using O2 at the moment; I have a pay as you go SIM in my phone as well (it's a dual SIM OnePlus) and get much better speeds through the EE SIM. So same phone, same location and same mast. But with O2 I get 1.04 Mbps down and 0.68 Mbps upload; whereas with EE I get 33.4 Mbps down and 7.29Mbps upload.
As previously stated this is on the same phone, from the same location and therefore the same mast; this, therefore must be an O2 issue and not a mast, busy cell or device issue.
O2 and EE don't share masts (or at least the backhaul from the same mast) so this "issue" will be with the O2 infrastructure and tbh, it's not an uncommon complaint.
Try using 3g to see if it's faster and if so, it points to congestion which you can do nothing about.
As indeed you should.