First, my background: I dabbled in coding as a teenager, but didn't really learn to code until age 35. Now at age 41, I'm a Sr. Engineer at a Global 500.
So - here's the problem with teaching kids to program at age 5.
No matter what programming language you use, (even Scratch) the basic building block of programming is the function. And functions are a concept that are *hard to understand,* so much so that 4-5 year olds, even the *really gifted* ones, aren't going to understand it. Gifted 10 year olds? Maybe, but then you have to start teaching Algebra earlier, and I don't think you can understand programming functions until you understand the concepts behind mathmatical ones.
Once you understand the function, I don't think it matters whether you understand it better mathmatically (whether you go on to understand higher order functions as mathmatical or as parameter based pointers) but programming is about as complex as Algebra. At age 4 or 5, you're not really doing programming - which is problem solving.
The best you might be able to do is to get kids to memorize formulae and apply it, but that's not *actual programming* (and if I'm going to be honest, one of the problems I see from junior programmers that were primarily educated on the Indian subcontinent is that they tend to 'cargo cult' a lot, applying rote methods without really understanding how to create their own solutions to problems - though it is not universal, and tends to go away after year 1 or 2 on the job)
Honestly, we could always use more STEM grads but if 2020 has taught us anything, it's that there's still need for competent scientifically-literate lay people to go into the social fields -- we had all the scientists in the world telling us what we needed to do, but nobody bothered to listen.