I recall seeing somewhere that inflight internet is not available when flying over India, so that could answer why it's not available for a good chunk of BKK-DXB.
As for DXB-LHR, I suspect that there's a very number of people connecting, thereby crippling an already slow connection.