I'm seeing this right now, I grew up programming (started at 7), at 9 I was way more computer fluent than my 9 year old step-son is now.
I think it's simply that modern machines are (generally) so reliable that you never have to get under the hood to figure out what broke until you (rarely) do and then you have no conceptual framework for trying to resolve what is broken.
His trouble shooting process is handing it to me and telling me "it's not working".
I refuse to fix it unless he watches and pays attention to how I'm fixing it, slowly he's starting to understand that none of this stuff is magic.
I don't care if has no interest in computers generally but I think it's important that he realises the devices/technology he interacts with isn't just a magic black box.
He was interested in what I was programming the other day though so I told him we could build a website together as long as he chose the subject, wrote what he wanted to put on it and wrote the code with my supervision, inevitably it's going to be about Fortnite but I'll take whatever wins I can get.
Generally I'll ask answer his questions with questions, we had a discussion about IP addresses the other day (though he had know idea what an IP address was) because he was curious how one computer "talks" to another so I asked a bunch of questions "Assuming you had lots of computers how would you tell one from the other" "I'd number them" "Ok, so what if you wanted to replace a computer but keep talking to it as if it was the old computer?" "I'd make it so the numbers could be changed for each computer", "OK, so you have millions of computers with millions of numbers how would you know which number went with which computer?" "well...I'd name them but in a way that I could say this name belongs to this number", I was proud, he pretty much figured out DNS without knowing DNS was a thing.
So then I showed him the config panel for a web host and pointed out that his names and numbers where an actual thing.