When I got into computer programming my only exposure was various flavors of BASIC and I think one Pascal class. The first time I took a Java course in college, I failed it because I could not understand object oriented programming.
Then I bought a couple of books on the concept, followed the exercises verbatim and then started trying to change things to understand what was safe and what broke things. Anyway, I've been doing this professionally for thirty years now.
When I needed to understand new concepts (to me) like functional programming or design patterns, YouTube was very helpful. You cite it as unhelpful, but I suspect you haven't fully internalized the concepts required to make those videos click into place. Until you've done some things with your own hands, it's hard to understand why an unfamiliar thing exists or what complexities it solves.
Kafka, to grab an example, just accepts data from one program and delivers it to other programs that want it. It sounds like the easiest thing in the world and anyone could just write that for themselves until you experience some of the edge cases it handles for you.
Basically my answer is hands-on following examples and breaking them and understand why they broke.