I can very much relate to the learning traits that you described.
Even in hindsight I’m not sure how well it would have worked out for me studying CS back in the day, let alone doing it on my own. But now, with having practical experience of working as software developer, it’s much easier for me to go through books and learn about the theory, because I can relate that to what I have already applied in practice. This way around my mind seems to be able to digest the topics much more easily than going from theory to practice.