First, a word of caution
One of the problem with mathematical finance, as well as the related field of financial economics is that there is more than enough to learn to fill your schedule several times over just with this academic side hustle. So, whether you like it or not, there is an issue of choice which is forced on you: you can't do everything all the way down to their most fundamental expression.
So, what should you do? You should only allow yourself to dig deeper into a subject if you know what you'll do with it. Otherwise, you will be wasting time. It's something I have learned studying in graduate school. We're there because we are curious by nature. If you just start reading about stochastic calculus because it feels "cool," you will stop dead in the middle of your track. The enthusiasm you feel has something to do with exploring the unknown and this will ultimately be the victim of either one or even both of the following two things: (1) other new things might also be interesting and (2) sooner or later, you will hit a wall and you need to persevere to get to the other side.
However, if you have a clear objective in mind, even seemingly boring things can become very engaging. And this tends to survive when you inevitably hit your nose against the wall.
I have perused a bit through the famous "Paul Wilmott on Quantitative Finance." I didn't use it personally, but you can find it in PDF format online and, thus far, it seems to be very well written. On the plus side, he gives you related papers at the end of each chapter so if you are interested in a subject, you can read only the relevant chapters and then use his readering list to deepen your knowledge.
Another book I used a bit is "Derivative Analystics with Python" by Yves Hilpsich. It covers a lot of ground and what is really cool about it is that it comes with plenty of examples of python codes, so you can play around with the code yourself to see how these things work. The code really isn't optimal, but it's a nice to see the guts of all that math being written as an algorithm you pass to a computer. Personally, I have always appreciated being able to work through models from start to finish.
On stochastic calculus, it appears that the standard really is Shreeve's second book: "Stochastic Calculus for Finance II: Continuous-Time Models. I didn't read much of it, but it's apparently pretty good. Personally, I didn't have much use for stochastic calculus outside of being able to read some papers in financial economics or finance.