The real Tyler being at the Battle of the Binary Stars doesn’t confuse things at all. You’re confusing it yourself by assuming that he was a hostage on Voq’s ship, meaning he likely should have been eaten, but the timeline you’ve created doesn’t work. Voq was turned into Tyler after he’d been abandoned on the Shenzou, and L’Rell had gone to retrieve him. She clearly did not take Voq back to the shop they’d originally been stranded on for all those months, therefore Tyler was not a captive of Voq and so would never have been at risk of being eaten by starving Klingons.
The obvious explanation is that the original Tyler would’ve been held captive by other Klingons, who left the scene of the battle. When L’Rell and Voq eventually put their plan into action, they would have clearly had access to Tyler at that point, from whomever was holding him hostage. Tyler’s memories of that time are clearly bogus, and were always bogus. You can’t synchronise his “story” with the real events, because the former clearly was not real, or in some instances was his “human mind” trying to rationalise memories that he had of L’Rell that were clearly Voq’s own experiences.
It makes perfect sense.