If you put the Fake Stones Shader after the Compute Terrain it should follow the normal computed by the Compute Terrain node. If you put it before the Compute Terrain it will think the normal is pointing upwards (usually cloese to the Y axis). So I'm confused by the results you're describing, as it sounds the opposite of what I'd expect. Can you show some renders?