Who made a mistake? In the world of real racing, no one. They both took the race to the extreme limit, and the touch occurred. In the sanitized world of post-social networking F1, there MUST be a culprit, and in the cold letter of the rule, it was Hamilton -- for being on the inside, for being further back, and most of all for having "got the better of him" (still on this: the penalty to RUS for the touch with SAI on Saturday only makes a nanomicrogram of sense in this sanitized era. In the real world inside the cockpit, Russell wasn't even SEEING Sainz returning).
But, anyway: if it is to punish, let it be punished right. The punishment in time should be added to the end of the race time; otherwise, in case of a Safety or red flag, as in fact happened, the punishment is "erased" -- exactly as it happened to Senna at Interlagos 93, the other case I remember of someone winning a race after being punished in 10sec.
Summary of the opera: the championship has changed. The fights between HAM and SEE will never be the same, just like the duels between Senna and Prost after Estoril/88, between Vettel and Webber after Malaysia/10, between Ricciardo and Verstappen after Baku/18, between Hamilton and Rosberg after Barcelona/16
Yes: now it has gotten PERSONAL.