I believe your model is not invariant to the scaling of cat. When coded as a factor, the values are 1 and 2, which are used directly by lavaan.
You can try changing the numneric coding of cat to 1 and 2. I believe the fit measures willl be identical to those with cat coded as a factor.
You can also try changing the values of cat to, say, 2 and 3. I believe you will get another set of fit measures.
You may need to check your model specification.
-- Shu Fai