Hi Joost,
On your test document I found using Find consistently a little faster (perhaps 6 or 7%). When I did it originally I just ran a couple of quick tests with far fewer words highlighted and I saw a very noticeable difference without a need for a timer. I guess the gain (or otherwise) depends on what percentage of the document is highlighted.
The reason for my adjustment was to cope with individual words with multiple discontiguous highlighted sections e.g. highlighted (where the red indicates highlighting - I'm sure there's a way to post highlighted text but I don't know it off the top of my head); you don't have any of these in your test and it would also appear from your test that another adjustment is needed.
As for using the Selection object, I do agree that it should be avoided in general but it is not always the case in Word. In my experience, Find is one of those things which often seems to work best with the Selection; there seem to be some oddities when trying to use it with other Range objects like it is in some way always tied to the Selection.
I find the Range / Expand approach slightly convoluted in this case although there may be a way to use it effectively. I'm still thinking about other methods