I know the skewed gender ratio isn't to blame. I've modded Kohaku's Naga race to be even more skewed female to male than what you have for the Koas. And they are still very aggresive expanders. And from my crawling through legends mode, I think the Koas are doing well enough population wise, but just aren't expanding for some reason. Which does make me think the problem exists within their biome tags.
The Dwarves
[START_BIOME:MOUNTAIN]
[BIOME_SUPPORT:ANY_FOREST:1]
[BIOME_SUPPORT:MOUNTAIN:3]
[BIOME_SUPPORT:ANY_GRASSLAND:1]
[BIOME_SUPPORT:ANY_SAVANNA:1]
[BIOME_SUPPORT:ANY_SHRUBLAND:1]
[BIOME_SUPPORT:ANY_RIVER:1]
The Humans
[START_BIOME:ANY_GRASSLAND]
[START_BIOME:ANY_SAVANNA]
[START_BIOME:ANY_SHRUBLAND]
[BIOME_SUPPORT:ANY_WETLAND:1]
[BIOME_SUPPORT:ANY_DESERT:1]
[BIOME_SUPPORT:ANY_FOREST:2]
[BIOME_SUPPORT:ANY_OCEAN:12]
[BIOME_SUPPORT:ANY_LAKE:3]
[BIOME_SUPPORT:ANY_GRASSLAND:3]
[BIOME_SUPPORT:ANY_SAVANNA:2]
[BIOME_SUPPORT:ANY_SHRUBLAND:2]
[BIOME_SUPPORT:ANY_RIVER:4]
The Elves
[START_BIOME:ANY_FOREST]
[BIOME_SUPPORT:ANY_LAKE:1]
[BIOME_SUPPORT:ANY_FOREST:3]
[BIOME_SUPPORT:ANY_RIVER:1]
The Koakumas
[START_BIOME:ANY_SHRUBLAND]
[START_BIOME:ANY_GRASSLAND]
[START_BIOME:ANY_SAVANNA]
[BIOME_SUPPORT:MOUNTAINS:1]
[BIOME_SUPPORT:ANY_LAKE:3]
Lets compare and contrast the biome tags each entity has. The dwarves, humans, and elves all work as intended. So they are our controls for this. First off multiple start biomes, both humans and Koas have this, so that likely isn't the problem. Is it the biome types that are just poor for expansion... the koas have nothing that at least 1 of the other 3 have as well. Ok, maybe it is very few biome support tags... again the Elves also have very few of them, but they will expand mercilessly given the right circumstances as well. And now we get to the solution I came up with as I typed this post. All 3 of the vanilla races in addition to their starting biome tags, have a biome support tag of the same type. Something which the Koas lack in their tags.
That is where I'd start with possibly fixing them by adding [BIOME_SUPPORT:ANY_SHRUBLAND:3] any_grassland and any_savannah to them. It could solve the problem, or it could be completely wrong, but I'll leave it to you to test out for now.