My experience as a developer has always been project milestones were agreed upon in advance and then each sprint is planned just before it starts. For the sake of detail, by planned, I mean agreeing what tasks /stories will be done in the sprint, estimating them and assigning them.
How common is it to plan all the sprints out at once before the kickoff of the project and rejig things as needed?