Minecraft wiki entry for Cat, associated text: If the cat has been ordered to sit.
Exception: The cat is likely to teleport if it is injured while sitting (it does not sit after it teleports). A dramatic example is if a cat sitting outside is struck by lightning, in which case the cat materializes on fire. This kills the cat.
Exception: If a kitten is told to sit, and grows up while the chunk it is sitting in is still loaded, it teleports to the player and materializes still sitting.
If the cat is attempting to sit on a chest, bed, or furnace. ‌[Bedrock Edition only]
If the cat is attempting to lay or is laying on a bed.
If the cat is in a minecart or boat.
If the cat has been attached to a fence post with a lead.
If the cat is in an unloaded chunk.
If none of the blocks on the edge of a 5×5×1 region centered on the player are transparent blocks with an opaque block below and another transparent block above.
If the player is in another dimension.
If the player is in water: The cat teleports to the player when the player leaves the water.
If the cat is in water: teleportation is unreliable. It may or may not occur.