The score says how it ended. xG says how it should have ended: it is the sum of the chances each shot was worth, not an opinion about the game.
The score matched the game: Toulouse was the better side by chances too.
Toulouse: −4.0 for the season (13 in the table). Le Havre: −2.4 (18). The gap between points and xPTS is built from matches like this one.