I think your fondness for canned "strategy" has done you in again. It only takes 7.
Actually it was an original solution, as were my others. The fondness you note is actually my fondness for solving problems myself, the quicker the better. Setting the limit to 7 would certainly put this into the "trick question" category, like you see people pull on each other at bars. So tell us the solution you read about that does it in 7.
Given the constraint of "7" races, which, along with every other pertinent condition, was left out of the original problem, we can eliminate one of the 8 races as follows...
The first 5 races result in 5 groups ranked 1st to 5th...
The top 3 can be any of the racers in the top 3 of each group, so we can discard those racers ranking 4 or 5 in their original groups.
We are left with the (racing) field of...
The second race is between the 1st place winners in the first race. The results will look as follows (the order of the first place finishers is at the top)...
The winner of that race is #1 and now we must, in one more race determine #2 and #3. We can discard many of the remaining racers in the field and we will end up with the following racers left...
Essentially, we eliminated columns 4 and 5 because there is no possible way that they could make it to #3. We also eliminated the 2nd and 3rd racers in column 3 and the 3rd racer in column 2 because they also would not be able to make it to 3rd.
There are only 5 more racers left and one more race will establish #2 and #3.
Still a merge sort, yet since we are only interested in the top 3 positions, we can eliminate many of the remaining racers after the 6th race.
It can't be done in 6 races because every racer will have to race at least once, that means at least 5 races and after 5 races there are still 15 candidates left, which cannot be solved with one race.