I got it wrong on the assumption that data type conversion would take precedence over concatenation or addition. Now I understand that while I'm correct about that, the precedence does not apply to the entire statement at once, but rather on a series of left-to-right pairs. Makes sense, I suppose.
Fortunately for me I would never consider doing this implicitly. That's just asking for trouble.
NULL is not zero
NULL is not an empty string
NULL is the unknown