I would guess it is due to the size of your grass patches. The built-in grass object is actually a small planar surface with a definite area to it. It does not conform to your terrain's surface across a single instance, the best you can do is orient to terrain normal for individual instances (which I do recommend doing, to some degree). So with very rough terrain, as you seem to possibly have (judging by what I see on the right of the image), it is best to use smaller grass patches, each with fewer blades. This way each instance covers less area and you won't get large, planar sections that don't connect with the ground. It also looks like your populations might be floating, which may have to do with not being populated based on the final displacement of the terrain. You will want to connect your population's planet input to the final shader *that provides displacement* in your shade network, and in fact it's ideal to do all major displacement within the Terrain group *before* the Compute Terrain shader.
So, in summary, consider moving your displacement functions up in the network, and make your grass patches smaller and "lean" (orient) to terrain normal.
- Oshyan