Actually, the best way to do it is to plug the fake stones shader into the child input of a surface layer. That way, everything is controlled by the surface layer, and there will be no surprises. You can then control altitude and slope constraints with ease.
As for the rocks having a sand color, keep in mind, the surface layer has a color function itself and is likely applying itself over the stones. Just uncheck the use color box and its all set.