No you're hybridizing the Forge and Mojang JSON formats.
In the mojang version you have to specify all full variants.
The point of Forge's json is to build the permutations for you.
So you can't nest them like that, you'd need:
{
"variants": {
"variant": {
"frozen_dirt_grassy": {},
"dia_dim_dirt": {}
},
"snowy": {
"true": {},
"false": {}
}
}
}
If you have a '=' ANYWHERE in your variant name it detects it as a normal Mojang variant and doesn't build the permutations for you.
So ya... read the docs, and either use the Forge version, or Mojang's version. Don't mix the two.