There's a lot in this story that resonates with me, and we seem to have some similar experiences (college dropouts, modest background, etc.) I even followed a similar strategy to yours for a while, i.e. I never applied for a job at first.
I was pretty lucky since I started programming when I was 12ish and did quite a bit of open source stuff in the early 2000s, so jobs generally found me. I had to mix it up a bit when I started moving abroad (I'm in my 5th country now), but overall the approach still mostly seems to work. It led me to progressively better opportunities over the years, including lead developer, CTO and Engineering Lead at a "decacorn" startup.
That said, after leaving my last job I did run into one of the ugly truths of our industry a little bit: I turned 40 this summer, and a lot of hiring is biased towards younger people, even if it's "just" in the form of expecting you to spend a significant number of hours on hiring processes. Sorry, but if you contact me saying that I'm "a perfect fit for the role" and it's obvious that what you need is exactly what I've been doing for the last 10 years, I'm not gonna sit through 5 rounds of coding challenges and interviews. So it's back to contracting and consulting ¯\(ツ)/¯
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.