Are we referring to snow blocks or snow layers? Mob spawning ignores snow layers, but I'm unsure about snow blocks (although I would guess it's just a standard spawnable block like dirt/grass or stone.)

Keep in mind that spawning now prefers larger flat areas so areas that are naturally hilly or cliff-like will spawn less frequently.

Passive mobs in cold biomes will also spawn less frequently simply because it's a cold biome. I'm unsure if this applies to hostile mobs, but I did end up going caving completely in the dark for over 2 hours and didn't encounter a single hostile mob at all despite ending up down at bedrock. It was scarier than lighting everything up and having to battle though a trickle of mobs...or running away because it turned out to be a lot more than a trickle.

It used to be that pack spawning required an actual air block but they changed it in 1.8 so any transparent block counts (in vanilla 1.6.4 I've noticed that Ice Plains has very few mobs at night, even after all the caves have been lit up, and mostly on hillsides since the pack center can be in midair and individual spawns can be in a snow layer). The Wiki does not indicate any changes to this though (or any other claimed changes to mob spawning that I've seen made with no evidence to back them up; I've even decompiled 1.15 to try to verify these claims):

Notably, the change in 1.9 means there are fewer spawn attempts being performed (1.6.4 always makes 12 attempts per pack but 1.9+ makes a randomized 3,6,9,12 attempts, averaging 7.5, or about 2/3 as many) but I wouldn't expect that to make a big difference considering that in my own mod I reduced per-chunk spawn rates by a factor of 4, with another factor of 3 reduction in individual attempts per pack if the mob cap can't be maintained, with no impact on the ability to keep up with Creative flight, except in a Superflat preset like Tunneler's Dream (in all versions the per-layer spawn rate depends on height. Mob farms are also much more sensitive to changes in spawn rates since they depend on the mob cap not being reached, so my changes will make them perform 12 times worse).

Also, the most likely explanation for what you are seeing is due to an unmentioned change in 1.8 where instead of using the section height of an entire chunk (including empty sections) it uses the highest block at an x/z coordinate (from 1.8-1.13 this was a light-blocking block while since 1.14 any block counts), which reduces spawn rates on hillsides as pack centers will no longer be able to be in midair next to them unless there are blocks higher up (previously this would only happen next to chunk boundaries, and only if nothing caused the adjacent sections to load, e.g. blocks placed in or light sources that extend into adjacent empty sections will cause them to be permanently loaded). However, pack centers should still be able to occur over snow layers as long as they are one layer deep so I'd expect at least some spawns even if mobs can freely spawn elsewhere.

Of course, there have also been various bugs and issues with mob spawning in newer versions, as far back as 1.7.4 (in singleplayer, much earlier in multiplayer, in addition to players sharing a global mob cap) - I can't even imagine going caving for 2 hours without seeing a single hostile mob (I kill an average of about 100 per hour, a rate which does fluctuate a lot but rarely does it go below 50, where an average session is about 3.5 hours).