Trying to spawn in a skeleton horse with a skeleton on top will initially spawn it, but at random the skeleton will dismount without permission...
Since you can't directly spawn skeleton horses using spawners, I had to use a despawning endermite, I recommend considering to make the spawn conditions customizable since some mobs won't spawn because of it :/
Command used that works around the spawncondition for skeleton horses:
/setblock ~ ~1 ~ mob_spawner 0 replace {SpawnData:{id:"minecraft:endermite",Lifetime:2400,Passengers:[{id:"minecraft:skeleton_horse",Passengers:[{id:"minecraft:skeleton"}]}]}}For clarification:
https://www.youtube.com/watch?v=zdnC9xQtMbc
May possibly also occur with different mob riding mob combinations.
This happens because the horse is not tamed. You should add "Tame:1" to the NBT of the horse.