My DS (also 7, Y3) reads really fast when he is reading silently to himself. I was worried that he had begun to skim-read and that it would affect his comprehension, especially as when he reads out loud to me he often mixes up words and mis-reads many e.g. fantasy made up names, he will just say a word that vaguely resembles the one represented by the letters on the page.
However I think in our case it's just a lack of effort. He gets the words out of his mouth right when he is reading out loud in school... just not when he is reading to me (I checked with the teacher). And he got 115 in his reading SATS so his comprehension clearly is good.
He DOES confuse himself when he reads out loud to me and mixes the words up, the sentences then don't make any sense anymore. It's not that he reads it right in his head but the wrong words come out. Or at least, it's the words that come out that he tries to make sense of.
I think you need to be aware that reading out loud is a different skill than 'reading'. It sounds like in both our cases it's the reading out loud that is of concern, whereas the reading itself seems to be fine. We can't see into their heads but if they do well on comprehension tests, they must be 'reading' with a certain degree of accuracy - they couldn't score highly on comprehension if they were substituting words in their minds while reading all the time, or just guessing.
Maybe in your case it would help to make your DS aware of that distinction too? So that he understands that reading out loud is slower, requires considerations such as what tone to use, emphasis, where to slow down and where to break for breathing. Requires a word not simply to be 'read' i.e. inserted into your mind, but pronounced, with all it's sounds in the right order, up to the end, as it is written.
In my case I make him slow down, and sometimes say 'pretend you are reading to Mrs Teacher!' because he can do it if only he bothers to put the effort into it.