Raids do not care what they spawn on, they can spawn on any block in the game. This goes for all members of a raiding party. This makes raids spawn in ridiculous places, along with making raids nearly impossible to prevent, or spawn proof against.
Raiders will ever spawn in places that deal damage to them, like in one block tall areas, so as soon as they spawn, they just suffocate and die. They also have no issue spawning in things like fire, lava, or magma blocks.
Its not even limited to blocks or things with collision boxes. They can spawn on floating redstone dust, buttons, torches, and even repeaters.
The only thing found that they don't spawn on, is scaffolding. Which is a life saver.
Below is a list of blocks tested, that they can absolutely spawn on. You can also find a world download below, for all your raid testing needs. Its a void world, so you don't need to worry about spawn proofing. All commands are provided. The world is also a perfect example of raids spawning below ground MCPE-45183
You can also find a full demo of this bug here: https://youtu.be/ymgbqpCAOMQ
Blocks tested:
Glass
Bedrock
Beacons
Magma Blocks
Lava
Fire
Lower Slabs
Barrier Blocks
Fences
Walls
Stairs
glass panes/iron bars
Hoppers
carpet
buttons
torches
repeaters
redstone
The list goes on and on and on
Possibly relates to MCPE-45183