I tried self-study when I was in high school, I didn’t get the adjective conjugation and also how the て-form works… somehow it didn’t click.
Two years later, I took classes at university which definitely gave me a good foundation. It was very fast-paced (1 textbook per semester) and I didn’t retain all of what I learnt there but I somehow understood better how the language works - not only grammar but also politeness levels.
I mean, I still had many classmates whose pronunciation was very off, but idk, if you listen to Japanese content at the same time, you know how it needs to sound. Plus, my Japanese teacher was a native and she corrected everyone all the time.
They didn’t offer B1 classes, so after that I switched to italki and I use Tobira with one of my teachers, with the other I practice speaking.
Besides the classes, I do Wanikani, BunPro and iKnow.
Wanikani I started a year ago because I felt that learning Kanji only by context doesn’t work as well because
- I don’t feel motivated to read content where I read like “… Kanji…Kanji…Kanji” => frustrating
- if I don’t feel motivated, I don’t read
- If I don’t read, I don’t learn new Kanji
I mean, there might be people, who could learn Kanji by just reading them somewhere, but when only learning the meanings, you still need to have a source to see how it is pronounced. It might work if you enjoy reading content digitally, but I prefer physical ones as I can’t concentrate as well on solely digital ones.
BunPro is a good enforcement to learn sentences and how it works. Tbh, I don’t pay much attention to the rules that are written in textbooks and rather try to read all the example sentences. I don’t see why this is less effective than picking it up from native content only.
Also with iKnow (I know I can download an anki deck, but I like their UX better and for me, that’s worth it), I also listen and read all the example sentences. So technically, it’s still in context-learning, the only difference is, I don’t have the effort to mine all the sentences myself.
Also, I don’t get, why one should neglect grammar studies. It’s not true that Natives learn only through immersion. In the first years until school, yes, but later, you do a lot grammar studies. At least in my country (Germany). In the first class, we learn about all our tenses and conjugation forms and we also had tests on it. In the 5th or 6th grade there was even a huge grammar test that the whole area did to compare the grammar knowledge of students. With time, you forget all those theoretical concepts, because you kind of internalize them. But still, tbh, I do look up concepts in my native language, e.g. when writing essays for university, etc. and there are many, too many concepts, where even Natives disagree with and in the end, we look it up in an online grammar dictionary (one recent discussion was e.g. whether you capitalize verbs when used like a noun or not (in German)).
So in the end, if you really want to get to that native-like language ability, I believe, you need a good mix of all. Immersing a lot, studying grammar a lot and also talking a lot. It takes a long time and there is no hack and there is no “best way”. Claiming that the other methods won’t make you fluent, isn’t true necessarily.
I did become fluent in English by speaking early in school and by studying grammar and after 2 years of formal study, immersing. I also realize that speaking early didn’t harm my speaking abilities.
I feel that it depends a lot on with which people I interact frequently.
Some years ago, I spoke almost only to American friends from a certain region, so my accent became very American. Before it was German-British (influenced by school, which teaches British English spoken by Germans). Some time later, I started working in a German company which uses English as the company language, but we have many Germans with quite a thick accent. Hence, after some time, my English accent also became more German again and also grammar got a little worse than before.
I found that my language is influenced a lot by the people I interact with and not much from what I hear because I don’t need to fit in anywhere when only watching videos.
And it is the same with my Native language. I used to live in the south and spoke the dialect with my friends, then I moved and my language changed slightly towards the language used in this area. I still keep my dialect slightly because I still have friends from my hometown with whom I talk occasionally, but I am sure, if I wouldn’t have that, I might loose it. However, when I go back to my hometown and stay there for a while, my language changes and I notice it that when people point it out when I come back 
I think, while it’s easy to form bad habits when speaking early, you will be able to loose them all if you interact a lot with other people. (E.g. the dialect example; a friend’s aunt used to live in southern Germany, then moved to Northern Germany in her 20s and lived there until retirement and never really came back. Before, she had the local dialect of her hometown and now, she speaks like the people in her current area, like the Northerns. I never guessed she ever spoke the dialect of her hometown, until you see a video of her speaking that way. Now, she cannot speak like that anymore).
Tldr; Take everything what you read about “the best and only” method with a grain of salt, don’t postpone stuff (e.g. talking) if you enjoy it. If you continue what you enjoy, you will get fluent. It takes time and it will take years. In the end, if it takes 5 or 7 or even 10, well, it is a individual process and hurrying won’t get you anywhere if you burn out.