Matching grass to terrain
Firstly you need to enable Use Modifier Stack in the particle system settings, so that the particle system uses the final derived mesh instead of the original base mesh.

From this point onwards the Particle System will start read the modifier stack and behave accordingly, so you have to have the stack order in mind.

You have two Displace Modifiers in place so i you want the grass to sit on the deformed terrain it can only be emitted after the deformation. Change the modifier order accordingly.

After that check your object scale and apply it with Ctrl+A , non uniform scales often cause issues, otherwise you will get weird results.