So here’s how I see it. If I’m given a lineup that has 9 players on it, then they’re playing shorthanded. Anytime a team plays shorthanded, they’re allowed to add the 10th player as soon as they become available, and that 10th player does not have to be listed as an available substitute as long as they are a rostered player (we just add them to the list of subs, put them in the game, and move on).
So in this case, that player who was missing from the lineup should now be added as the 10th batter. However, he was not reported as a proper substitute until after he completed his turn at bat and later scored. He’s now officially in the game without penalty (Rule 4-6-C-6).
Under no circumstances is a forfeit ever declared for a botched lineup or an unreported substitute.
We may have some batting out of order rules applying here, but still… no forfeit.