IIRC that's because that instruction is one byte while a "load immediate" would have to express 0 as one or more bytes.
(See also the wacky way in which ARM "load immediate" works)