There are a couple of factors that make preseason interesting:
1) Your players are not yet conditioned and will fatigue faster than they do once you get to the regular season. That's part of pre-season is getting them conditioned. You want to play them enough that they get conditioned but not so much that they get hurt, as you were saying.
2) Because they are not fully conditioned, they are going to get more frequent rests. This will dig deeper into your depth chart than you would otherwise.
3) The engine tries not to play players who are fatigued beyond your settings, and if no one is available it will start to look at players from other positions - it will prioritize players in the same position group (i.e. backfield) then players on the same side of the ball (i.e. all offensive players) and then if it still can't find a player it will look at the other side.
To combat this, be sure you have 60 players active for the preseason games and get your depth charts as deep as you can. You can also adjust your fatigue settings so your players stay on the field longer, but of course you risk them getting injured as conditioning does play a factor in whether they will suffer an injury.