Hi,
In the json behaviour pack the minimum is set to 9, but they require a minimum of 12.
Steps to reproduce
make a mycelium platform high in the sky in a mooshroom island
place rows of torches
setup a few command blocks to replace the block where mooshroom spawn by an other block and kill the mooshroom when they spawn.
Expected result
Mooshroom everywhere on the mycelium platform.
Actual result
Mooshroom never spawn more than 2 blocks away from the torches.
I've attached a world download demonstrating that.
Mooshroom also have some spawn condition like the block where they spawn being mycelium, that is not in the json file. So I suppose there is some leftover code for mooshroom that raises the minimum light level specified in the json.
Confirmed in 1.16.20. The test world requires modification due to the fix for MCPE-41273. Simply turn off daylight cycle, set time to midnight, and remove the stone roof.