Technically, the game being stopped on safety grounds, the correct restart was a scrum to the attacking team:
20.4(d) Scrum after any other stoppage. After any other stoppage or irregularity not covered by Law, the team that was moving forward before the stoppage throws in the ball. If neither team was moving forward, the attacking team throws in the ball.
However, as has been mentioned there are times when the technically correct decision is suboptimal. In this case, the referee decided that it would be unfair if the attackers, having overcooked their kick and chase, got a huge benefit from the existence of the puddle. Given that the very playing of the game is a compromise (an "observed" ref allowing a game to kick off in such circumstances would be heavily slated, having ignored the prime safety directive), the ref's decision can perhaps be seen as equitable. Did anyone fancy scrummaging in the puddle?
Law 1.6(b) The referee will attempt to resolve the issues but must not start a match if any part of the ground is considered to be dangerous.