Mits = as long as: 'Ik ga morgen naar de dierentuin, mits het niet regent' (I'll go to the zoo tomorrow, as long as it doesn't rain).
The opposite is tenzij (which means unless: 'Ik ga morgen naar de dierentuin tenzij het regent'), but even a lot of Dutch people mix the two words up.
They are close, but in my experience they aren't usually used in the same context. You need a linguistically educated native speaker to explain that one - I just use them in conversation/correspondence.
Neither mits nor indien means the same as of in this sentence though - that's more like 'whether'.
Weten is about knowledge, kennen is mostly about acquaintance:
- Ik weet niet, of ik hem ken. - I don't know if I know him.
English cognates are to wit (old meaning preserved in witness) and (chiefly Scottish) to ken (primary meaning similar to Dutch one exists in Scottish unkenned and in British dialectal to misken).
PS: The difference is the same that also exists in the modern Romance languages. E.g. in French: "Je ne sais pas si je le connais."
PPS: An overly literal translation of the Dutch sentence, using only cognates: "I wit not if I ken him."
I don't know if this helps you but it helps me to translate it into what I think of as "shakespearean english" and then into modern english. So "Ik weet het niet" becomes "I know it not" and then "I don't know it" "Hij weet niet of het rood is" becomes "He knows not if it('s) red" and then "He doesn't know if it's red" Don't know if that's confusing but it helps me wrap my head around it :)