The two-readers framing is the part people underrate. I ran into a small version of this from the other direction: I built a local tool that explains official letters, and the design rule ended up being that the model only ever sees the fields the code extracted, never a number it could invent. Your tests are the same gap in reverse - what the agent "read" is whatever the converter decided to keep. Did any of the converters you tried handle display:none differently from aria-hidden? That seems like the first place a checker would disagree with a human reviewer.