Why this huge discrepancy in flight times?
TL;DR Probably "Operational" reasons



I would hazard a guess that this is a combination of a few factors


A longer route flown inbound to London
Flying in to a busy airspace like London requiring particular routing, particularly oft requiring length hold patterns
The time of day the flight in to London arrives being particularly busy (late afternoon/early evening)


These three factors may cause the airline to list the flight duration as longer than it would usually, in order to account for the possibility of a lengthy flight time.

If you look at the track of the outbound flight and compare it to the inbound flight you see that, at least on that occasion, a much longer track was followed. The airline may know that the route back to London is longer (for whatever reason) and adjust expected flight times accordingly.

Also, when you compare it to the only other direct flight departing and returning to the same airport (LGW) on skyscanner for the same route, the time difference is much less (15 minutes difference) which is much more usual. It may well be that the route to/from LGW is more equal outbound/return than the route taken to STN. It may also be that this flight in to LGW is at a typically quieter time of day.