I've noticed that cats spawn, but the rate isn't very high, and then many cats wander off a bit.
Also, and I think this is a confirmed bug in at least the Bedrock version, but cats seem to have issues where they spawn in and/or under path blocks (likely because they are slightly less than a normal block height), as I commonly come across spots in my village where I hear a poor cat being repeatedly hurt with the cloud particles coming up from a path (but no visible cat; maybe underground or in the block?), and then sometimes string shows up. This is in the Java version.
It may be like iron golems too in that you might not find a village loaded with them naturally, but given enough time, more will spawn.
Change the text in https://minecraft.gamepedia.com/Cat#Villages - "Cats can spawn every 1200 ticks (1 minute) in a village (5 occupied beds)..." I don't get one cat per minute even in created room with 200 beds and 150 villager!. I get about 3 cats in hour.