I found the source of the issue you were having, and I'm explaning the solution here for everyone:
If you have fake stones as a child of a surface layer, and you want the stones to have their own color, do not use slope constraints in the surface layer! SLope constraints and fake stones don't go well together. Also slope constraints and intersect underlyong don't go well together, but that's another issue.
If you still want to apply a slope constraint, here's one way of doing it:
The solution is to add a slope constraint to the distribution mask of the fake stones itself, not to the surface layer it plugs in to. And the slope mask must be created with a distribution shader with the slope key "terrain normal". The distribution shader must be fed by the last compute terrain to become aware of the terrain and its slopes.
There may even be a simpler solution than that, but it works for me.
Regards,
Frank