Your first methode, with the redirect under the stones also displaces the terrain, so it's better to restrict displacement before the stones. Better still to use different displacement variables for different sizes of stone. For a stone of say 2m, I usually use displacement sizes of 0.5/2/0.01, for a stone of 5m; 1.25/5/0.01, etc.
You can also use offset in the displacement tab to blow up the stones a bit more, but take care not to overdo that.
Here's an adjusted file. Anyway, fake stones are an endless game to play, lots of possibilities.