One of the biggest conductors for a railroaded campaign is not giving freeform exp. It isn't always railroading, but its almost always railroading.
Why? Because milestone exp removes player agency about how they become stronger. Completely removing exp means a player could go through an entire gladiator's Coliseum and never get better at combat nor stronger.
And the issue with that is that it discourages the players from interacting with your world outside of the main-story plot. "Why should I go into that mysterious cave, when our objective is a chapel?" Now, they feel like they have a choice between risking their lives for nothing or moving on, which is a non-choice.
Many DMs say they're concerned with the narrative pacing, but I have never seen the narrative pacing ever get wonky in my campaign because my adventures always assume you're at least still within a ballpark estimate of your expected level. If I write the end encounter as a hard encounter for level 5 players, it will be deadly for levels 3-4 players and medium for level 6 players, but that's fine. Their choices influenced the difficulty, that's agency.