When the number of batters is greater than the number of fielders as in youth and recreational leagues, it is common for an extra hitter to come into the game as a fielder and for the original fielder to remain in the lineup as an extra hitter.
As of version 2020.1.0 -- when there are more batters than fielders, a defensive substitution will not remove the old fielder from the batting order.
In versions of the app though 2017.1.0, the fielder being replaced will be removed from the batting order. To work around this issue, use the Player To Be Named Later feature:
When the no-name batter (e.g. "HOM Batter6 Sub1") comes to the plate or is on deck, tap the blue info button in the middle of the At Bat screen to bring up the Matchup screen. Tap the no-name batter and assign the original player. This will preserve the batting order in the box score and scorecard while allowing accurate defensive statistics to be kept for each player.