Terraria - Flying Snakes spawn limitations (Gold farm)
Flying Snakes will only spawn if there is enough space available (4x3, I believe, like you say) for them.
So in a room with no space that is at least 4 tiles high, no Flying Snakes will spawn, only enemies which can fit can spawn. To demonstrate this, I made a 168x94 area entirely filled in with blocks except for a 3 tile high tunnel through the middle.
Standing in the exact centre, the only space available for enemies to spawn in is the tunnel, as enemies cannot be spawned in blocks (explained below). Since the tunnel is only 3 tiles high, Flying Snakes cannot spawn, but others such as Lihzahrds can. I left the game running for a full in game day and no Flying Snakes appeared.
The wiki page on NPC spawning explains the results (bold emphasis mine):
When the game decides to spawn a monster, it will first choose a random tile within a rectangle around the player. The maximum distance from the player it can choose from is 84 tiles to the left or right, and 47 tiles up or down. If the picked tile is a solid block, it will try another one. If the picked tile has a wall that blocks monsters from spawning, it will also try another tile.
Once an empty tile is found, it moves down until it finds the ground. (Note that this tile CAN be more than 47 tiles vertically from the player. If it finally is outside the "Active Rectangle" it will be instantly despawned, anyway.) If there is enough space for a monster to be spawned at this location, this will be the tile it chooses. The exception to this is when the player is in an area where Harpies can be spawned. In this case, the game does not attempt to find a ground tile.
As we can see, the game will only spawn enemies at locations that have enough empty space to fit the enemy.