You can do the exact same thing you mentioned with math. Theorems aren't arbitrary; there's a way they're derived. If you learn how the theorem comes to be, even if you can't remember exactly, you can often remember enough to come up with the theorem again.
I think the way you learn is the ideal. Knowing the context behind the facts you learn gives them worth, and the redundancy of being able to derive the fact from the context also makes it better integrated with the rest of your knowledge and easier to remember in the long term.
Once you have the background knowledge, everything is a lot simpler. Learn whether each theorem has an easy proof or a hard proof. If it has an easy proof, you can forget it (deriving it when you need to; an example is the contraction mapping theorem [1]). If it has a hard proof, you can forget it and look it up when you need to.
[1]: https://www.patrickstevens.co.uk/how-to-discover-the-contrac...
That sounds odd for college-level math courses (note that I am just a first year engineering undergrad and therefore possibly know nothing). Do you have oral part in your exams?