So it's not that he has memorised the answers.
But rather that he can work the answers out fairly quickly.
By counting in 'number' (e.g. counting in nines). Or actually you say that he's not really 'counting in nines' but rather just 'reciting' the memorised 'nines' numbers.
Hm. When young children learn to count, it often starts as a 'reciting' of numbers, rather than actual counting. Being able to actually count an amount of things often comes later. Nothing wrong with that.
So he is able to recite the numbers in nines, but it seems to me he can use this ability to actually count in nines too, or he wouldn't be able to 'count' 7x9. He is not just 'reciting in nines', but 'counting in nines' by way of 'reciting in nines'.
Sounds to me that he understands 'skip counting' / counting in 'number', but doesn't connect that to multiplication. Maybe all that he needs is for you to make explicit to him that he is actually skip counting, and is great at that; and then to make the link between skip counting and multiplication. So show him an array of 7 rows of 9 things each (for example). Explain how we work out how many there are by doing 7x9. But to actually work it out, we can count down the rows in nines, like he does. Or we can count across the columns, in sevens. Show how it means there are 9 columns of 7 things just as there are 7 rows of 9 things, and that we are counting the 7 things 9 times when we 'skip count'.
Then practice the 'concept' of multiplication with lots of real life 'word problems' as they come up in everyday life, so e.g. we have two cats, they have 4 legs each, so we multiply 2x4 and to work it out we might skip count in 4s. There are 5 children at the party and we want to give them 3 prizes each, so we need 5x3 prizes (and can work that out by skip counting in fives three times, or in threes five times.
Other things to work on would be to get instant recall for the tables, and then perhaps to learn how they fit together/how he can manipulate factors etc. Because although you say he knows them off by heart, what you describe is not that; you describe that he knows how, and is able to, work them out by skip counting. As Sirfred said above, many think that understanding can emerge after the memorising, and that the memorising can aide the understanding. He will need to get instant recall sooner or later anyway, and perhaps having that will help him with the understanding as well; because it is easier to see patterns etc if you don't have to go through the whole process of skip counting first. Especially if he doesn't mind/enjoys working on memorisation, I'd do that right now with him - get him to 'know' that 9x7 is 63 without having to work it out.
Are there any tables he has instant recall for? E.g. 10x table? Or does he skip count them all? If he does have instant recall for some, you could e.g. show him (with real items perhaps) that 9x something is 1x something less than 10x something, so 9x7 is 70-7 (10x7 - 1x7) or that 4x something is the same as 2x something and then 2x again. But if he is still struggling to connect skip counting with multiplication, I would leave that for later.