Back around a decade ago when I was about 70 years old, I bought a few old telegraph sounders and built an interface device so I could translate off the air tone CW into a DC voltage to drive the sounder, which just made a clickity clack noise. I had never heard a sounder previously, except in a few old western movies decades ago. Almost immediately I was able to copy the sounder nearly 100 % within perhaps 15 minutes at around 15 WPM....at this time it was our international morse code. Then I started learning American (land line) code where about 1/3 of the letters and numbers are different, and some characters have short spaces within a letter.
Not much later I attended a convention where a sounder demo was taking place in American morse, and I copied that nearly 100%. I picked up this skill with little practice at age about 70. Not saying that all things are easy and quick for me at age 81, for example all 7 of my grandkids are much better at computer games, computer programing, etc. etc.
Now my code experience may not apply to all folks, since I picked up code very early and could operate bugs, hand keys, iambic squeeze keying, ultimatic keying, easily, and even picked up the skill quickly to type a message received when I operated shore and ship marine stations very briefly.
As a teacher I learned that my students learned in different ways. So just a thought, how about trying to learn code by sound and have a blinker also sending the characters at the same time at perhaps 10 WPM or less, since blinker reading is still easy at this speed. No idea if the two inputs will help. When I first hooked up my sounders, I experimented with holding my finger on the sounder so I got tactile input also, but not sure if it helped, since it was easy to just decode by ear.
I am not an expert, just throwing out crazy ideas, since there is a slight possibly one may stick.
Cheers, Rick KL7CW