I think you've found one of secrets of our language.:)
yes, you are totally correct,
but somehow the sentences you put as examples are inappropriate, I guess.
1) the first sentence should be
"내 취미는 수영하고 요리야".
in here, I don't feel it's necessary to put "~기" to make the verbs nouns because "수영하기" definitely acts like a noun but in your sentence, it's not natural.
2) yes, the second sentence is correct, and the answer is "yes".
"수영하는것" acts like a noun.
3) yes, your sentence is a bit weird though.
4) yes.:) but as you know,
languages are not like math, there is no such an "always".
so that, I can't say they always follow the rules, it depends.
luckily, most things you mentioned above are correct.:)