I personally feel like logical thinking is logical thinking, not necessarily “fun”, it is a challenge haha. I’m also the sort of person that reads what boolean algebra is on Wikipedia for “fun”.
So first off, I believe learning anything is good for your brain and general health, no matter what kind of learning it is
. I also believe if you want to get better at programming, the best way to do it is to practice programming. Your welcome to train your brain doing logical puzzles, and programming games, but if we aren’t talking about games like TIS-100 then you probably aren’t learning to program. You might be learning concepts related to programming, but at a certain point the only way you “learn programming” is to just do it.
Second, logic gates and red-stone programming is very low level compared to programming at higher levels, like using Javascript. Some concepts do carry over, but most don’t. Learning how logic gates works is a great entry to basic computer architecture, but this is a totally different area than say knowing what Merge Sort is and how it works. Now just to be clear when I say “low level” I mean its lower in terms of where the concept is applied relative to the actual machine code. So think, logic gates are basically physical switches on your cpu board that are handling electronic outputs. These sorts of concepts are the sorts of stuff computer engineers study.
Third, most of programming isn’t physical, rather, its theory which can trip some people up (it did to me). Like understanding most theories, you generally have to use a thought experiments, which can be tougher for people who are more “visual learners” (sounds like you are that type). In these scenarios you have to rely on your own imagination, or find more visual representations. (I recommend computerphile as a good place to watch some videos on programming/computing/math just to tickle your brain every now and then
)
Finally there is a difference between syntax and programming. If your getting tripped up on what var is, or how .forEach works, then were talking more syntax. (mdn is a great resource) More advanced concepts like recursion and OOP are concepts that could be related to syntax (functions, class, etc) but are general to all languages. Being able to tell what your missing is important to taking steps to learning it.
I once learned how to play guitar and once wondered if working out more would help with my guitar playing. My thinking was I would get stronger and have more stamina to play longer and more seriously. I was given some advice that made perfect sense. “If you want to play guitar better, longer, faster, then play guitar more.” I’d say the same goes with programming, your welcome to expand your horizons, train your brain, learn new things, but if you want to get better at programming, then go out and program. It’s the most straight forward way to learn it 
PS. If your having trouble, good that means your learning. Programming is hard, if it were easy everyone would do it. It takes some time and grit to go from “WTF AM I DOING” to “Oh I get it now”, no one, and I mean no one goes straight to “I just get it!” immediately haha.