Translation:Hij liep de marathon.
It would seem that this is a phrase we must learn, for I would have expected 'Hij rende de marathon.'
Correct! For some inexplicable reason you use "lopen" for marathons, races and sponsored runs, although I highly doubt any Dutch person would fault you for using "rennen".
It's far from inexplicable. Lopen in it's original meaning is to move by legs/feet. It's only the general interpretation that is given to it that in the Netherlands people associate it with walking.
You may be aware that in Belgium they associate lopen with running, and also in sports. E.g. if you are on an athletics track and someone uses lopen they most definitely mean that you need to run and not walk. Similar inlopen and uitlopen.