It looks like historical results incorrectly use your current age class rather than your age at the time of the run, i.e. they are recalculated every time.
I've just gone from M45 to M50 from 1st Jan this year, but most of my results from 2019 and 2020 say I was in M50-54. I say most because a few still say M45-49 with a couple saying M20-24. I think the latter is a bug caused in an inadvertent space after my year of birth in the app. When I first ran they came up as JM, but have now been promoted to M20-24.