XP depends on the highest level in the League / Tier. At L24 you should only get 202 XP after each race. The fact you're receiving 210 tells me there must be competing against a L25 team.
Your friend should not be getting 310 XP, the maximum would be 250 at L30. If he is indeed getting 310 per race it suggests a bug. How do you know he is receiving 310? Can you provide proof?
See this...
Dynamic XP Returns