I mostly agree with your colleague, but I would quibble over the phrase "depending on its meaning". The parts of speech are a characterization of the grammar of a word, which does not necessarily align with its meaning. For example, the meaning of so is the same in both "He started yelling; so, I left" and "He started yelling, so I left", but in the former it is considered an adverb (modifying the independent clause "I left"), whereas in the latter it is considered a conjunction.
As for why I agree with your colleague — consider a sentence like this one:
You mother enrolled you in the pre-Academy program so you'd have a little direction, not so you'd have a reason to go become some half-cocked vagabond on Earth. [link]
It's clear that not is modifying the second so clause (or, perhaps, conjoining the two so clauses). This implies that the so clauses are subordinate clauses, functioning as adverbials, rather than independent clauses standing on their own. (One would never say something like, *"You mother enrolled you in the pre-Academy program for she wanted you to have a little direction, not for she wanted you to have a reason to go become some half-cocked vagabond on Earth.")