Texture-Coordinates Normals -> Mapping-Node doesn't work as expected
It looks fine to me..





However I like to use a separate RGB node to separate out the Z part of the normal for this kind of effect.

If you connect the normal output of the texture coordinate node straight into the color input of a an emission shader, you'll see that there that the three "channels" (X,Y,Z) get mapped to RGB. So faces pointing towards positive Z are blue, positive Y green, and positive X red. (faces pointing in between will be additive combinations of those colors, such as pink, yellow, white, etc.)



If you separate out the blue component, you are left with a map of faces pointing upwards (along the Z):



By feeding that into a color ramp node to fine-tune the blending, then using that to mix between shaders/textures as in the tutorial, you get a result like this:



In the above screenshot I also applied the scale and add some loopcuts to the terrain object to make the mesh density more even, reducing the "stretched" look.