I personally started at age 12 with the now old programming language BlitzBasic, and then transitioned to XNA+C# at around 14. This was a couple of years ago, though.
I think Blitz still might be a great beginning, to be honest. It's a basic dialect, and very easy to make the first things in, but it really depends in what you're going for. Also, I might be biased, because blitz had amazing german-language entry level books written (the ones by Rene Mayer)
On the other hand, it's now a pretty much dead language, with a small to non-existent community, and the tooling around is a bit "eh."
Look into using Blitz3D, a tool suited for your vintage of computer. I know one or two folks who still use it.
You can make your own engine, but you'll also have some trouble in that the entire development stack has moved on and you'll run into stuff that is 64-bit only. It's better to treat this as a retrocomputing adventure, overall.
Scratch is fine, but when he's ready to step up to something more complex, I recommend what I started with when I was 6: BlitzBasic. It has full documentation and tutorials within the software, and video tutorials can also be found on YouTube. Don't bother with engines such as Unity or Godot -- no or very little programming skills will be developed there, and strong programming skills are everything when it comes to making games.
yeah, it just bothers me when I se new indie devs trying to use Unity or Unreal to write space invaders or pacman. They'd be better off using Godot or something even simpler like Blitz3D (https://blitzresearch.itch.io/blitz3d)