Your model doesn’t have very strong displacements to begin with, and so the map will naturally appear pretty flat.
A common mistake is to believe that the entire color range of your texture HAS to be used in order to get good displacements. The fact is that the opposite is true. ZBrush calculates the color range that will accurately reproduce the displacements. It then writes that exact level of detail to the map. To use the entire color range available would actually require that the system artificially inflate the values and then interpolate between them. That introduces room for error and artifacting, so ZBrush doesn’t do it.
Remember: The human eye cannot distinguish 16-bits or more of color. The computer has no such limitations, however, and so can see details in the map that you cannot make out visually, and then render those details out accurately to reproduce the original model.
When you apply your map in your rendering engine, it should render perfectly just as it is. Assuming, of course, that you restored your base mesh prior to calculating the displacement map…