I had the same issue with movement milestones unlocking at the wrong level having started at movement 2 thanks to getting all the gross motor infant milestones. The problem seems to be that each movement-related milestone is locked until the previous one is completed, and the game only checks for completion when your toddler increases their movement skill to the next level.
In my most recent save I cheated the movement skill down and back up once my toddler reached movement 3 to get the milestones in step with his movement skill progression, and the learn to run milestone then completed correctly when he reached level 4.
To solve the problem, the game ought to do a check for movement milestones when your sim first ages up and award any milestones you've already earned at that point.