It reminds me of a funny argument I had a while back. My then girlfriend old apartment had cast iron plumbing and a joint in one of the pipe had a very small leak that smelled pretty bad. One night, at a family gathering of her, someone said that "it leaks because it smells"; which made me laugh obviously. I thought it was a slip of the tongue and said "yeah, it smells 'cause it leaks" and they started arguing that "it means the same thing"... To this day, I still can't understand how someone can believe that "it smells because it leaks" means the same thing as "it leaks because it smells".
Generally you're using language "correctly" when the vast majority of people understand what you were trying to communicate.
In that way and in that context it's a "passable" statement.
Don't view everyday life and sentences through the narrow lens of mathematics/logic. If you're lucky that'll make for some dinner conversation, if you're unlucky you'll just be annoying.
"I know this must be leaking because it smells." is fine in an everyday context, even if not strictly and always true.
It wasn't meant in the sense of "I know it leaks because of the smell", it was literally said as "The leakage is caused by the smell". The conversation was in French so I have to translate here :D. I wasn't trying to be an ass at the time, I was just... surprised at their twisted understanding of basic logic.