I wanted to reply to my original post, but it has been closed, so I’ve had to start a new one. (just edited as I pressed ‘submit’ too soon).
In short, I did it! 9 months after writing the post, I started a full time remote job as a PHP developer. It’s been a slightly stressful path (mostly cause of the freelance stuff and my time management in that area) but now I feel like things are calming down.
So, I kept on studying, I took on a project which involved a React front end with a Django API backend. I only did it that way as originally I was supposed to just do the backend and another developer do the frontend but I ended up doing it all. I had to learn React very quickly. It’s so hard! (anyone else trying to get their head round React - it’s harder than anything else I’ve learned during my journey). But the whole thing gave me valuable experience in APIs and MVC apps (or whatever you call Django). I started using Git and Github to save my daily work to get some practice in with that.
I had vaguely applied for a few jobs (uploaded my CV a few places) and started getting calls from recruiters. The two most memorable conversations were one who asked me some Javascript questions like “What’s the difference between call and bind”. I couldn’t tell him, and he hung up pretty quickly. That left me pretty demoralised… But then another call a day later for this PHP job, spoke to the tech lead, we got on well and I think he could hear my enthusiasm. Did a tech test, had another call, got offered the job! The start was pretty stressful as I felt like a bit of an imposter, and had to bush up on my PHP, but now it’s going great and I’m really enjoying it!
Thanks to @willjw3 , @dannycodes , @DanCouper , @shaxbeard and @johnnyboygomez for your input on my original post. And good luck to everyone else on their journey!