Ok, after some investigation looking at the source of HTML that was coming back it appears that Orange UK (my mobile phone provider) was injecting a massive amount of javascript directly into the page which was, among other things, mangling up what I was seeing. Apparently they were doing this to compress pages and images and speed things up but of course it was instead screwing things up!
Anyway, I switched it off at this page and magically everything is working as it should. So I reckon that anybody else who's seen peculiar behaviour when tethering or Wifi sharing via their 3G connection (to answer your question it was Personal Hotspot I was using) will most likely have been hit by the same thing (apparently most other UK mobile networks do the same). The thing that gave it away was this script being included at the top of the page:
http://1.2.3.8/bmi-int-js/bmi.js
As soon as I Googled for that it became clear that it's a widespread thing. Thanks for your patience! :)