You absolutely need to practice without subtitles. Especially if your reading is much better than your listening, your reading skill is completely compensating for your lack of listening comprehension when you are watching something. So when you are doing this you are not really listening.
So listening comprehension is two (very) related skill that you can practice sepearately.
First is hearing japanese (phonetically). Can you hear spoken japanese and transcribe what you hear? can you listen to a song and transcibe it? (by transcribe i mean write down the sounds being produced in kana even if you don’t have grammatical comprehension or know the word being said). You can practice this with Youtube videos (and youtube also has speed ajustment so you can slow videos or music down) or songs (clearly sung stuff is better, like folk music). Without looking at the video, just let it play a line at a time and then pause it and try to write down the words one at a time (if you know the words) or the sounds that were spoken or sung (even when you don’t know the word).
This is really great practice and forces you to listen closely to what you are hearing. it also forces you to make a decision as to what you heard and not just say “i don’t understand”
As far as comprehension of what you hear, I have less to offer. If you read well there is no reason why you shouldn’t have a similar level of comprehension IF you are able to hear what is being said.
I do have two tips though.
to the extent that you still think in grammar glosses (when you read or hear a grammar construction, relating it to an english construction), try not to think of japanese grammar in a way that forces you to reorder the sentence to understand it.
here is a simple example: のに
If you think of a clause: “something something のに”, as “even though something something…”, that means that when you are hearing japanese and get to a のに you will have to stop and try to “insert” that meaning at the beginning of the phrase you just heard. This is really hard to do at speed. So try to think in “inline” glosses. のに = and yet. So then “something something のに” becomes “something something and yet”.
The second tip is weird but it definitely helped me. Japanese has a much lower information density than english. So even though spoken japanese has more morae per second than english has syllables per second (which is why it sounds “fast”) , the amount of information transmitted per unit time is about 3/4 of english (according to one study at least). So changing your expectation of the amount of information to expect (less, and noticably less) really helped me lose the anxiety of feeling like I was “missing” alot. The pace of spoken japanese is actually really relaxed (by comparison to english).