Steps to reproduce
Set time to always day.
Locate a mangrove swamp.
Make a grass platform about 30x30.
Fly up 25 blocks above the platform.
After 4 animals spawn run /kill @e so that you can watch for more spawns.
After observing animals for a while, cover the platform with lava and then make a stone roof above it several blocks up in the air.
Expected result
Only frogs spawn.
Observed result
Horses, llamas, armadillos, ocelots, pandas, and parrots spawn. In step (6) striders spawn.
Code analysis
In 1.21.50.20 Preview the following tags have been added to the data\definitions\biomes\mangrove_swamp.biome.json. These tags are causing the incorrect spawns.
"is_badlands",
"jungle",
"nether",
"overworld",
"savanna",
"spawns_warm_variant_frogs"
Attachments
Comments 4

Mojang appears to have recently ported over biome tags from Java to Bedrock. Several of these tags don't make sense and are irrelevant to Bedrock such as "polar_bears_spawn_on_alternate_blocks" and "without_zombie_sieges". Other tags might be useful for modernizing Bedrock's mob spawning rules, making them more readable by Java devs, and/or make it easier for addons to query biome information. Unfortunately, during the porting process, the following Java code was incorrectly parsed, causing erroneous tags to be added to mangrove swamps, which was not caught when the changes were reviewed.
this.tag(BiomeTags.SPAWNS_WARM_VARIANT_FROGS).add(Biomes.DESERT).add(Biomes.WARM_OCEAN).addTag(BiomeTags.IS_JUNGLE).addTag(BiomeTags.IS_SAVANNA).addTag(BiomeTags.IS_NETHER).addTag(BiomeTags.IS_BADLANDS).add(Biomes.MANGROVE_SWAMP);
Proposed Fix
Only the following tags should be in definitions/biomes/mangrove_swamp.biome.json:
allows_surface_slime_spawns
mangrove_swamp
overworld
spawns_warm_variant_frogs
I would amend Reed's proposed fix by noting that "allows_surface_slime_spawns" and "spawns_warm_variant_frogs" are not presently used in Bedrock and therefore serve no apparent purpose, while on the other hand mangrove swamps should have "monster" to fix MCPE-170183. So,
Proposed Fix
Only the following tags should be in definitions/biomes/mangrove_swamp.biome.json:
mangrove_swamp
overworld
monster