<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    I don't think your issue is with the clip of the rasters, it is with
    how the software you are using sets the scale for the display of the
    layer.<br>
    <br>
    When you clip a layer in  QGIS or directly with gdal_translate, the
    default is to leave the pixel values exactly as they are, which is
    generally what you want. After all, if the software rescaled the
    max/min to some fixed value, then when you tried to display these
    side-by-side or reassemble them into a single image the values
    wouldn't make sense. <br>
    <br>
    The issue you apparently are facing is that by default on loading a
    raster the software you are using finds the min and max value and
    scales the display to span that full range,  which is what QGIS does
    by default with raster layers. (The exact details of the scaling are
    determine by settings in the Settings -> Raster tab.)<br>
    <br>
    Without knowing what your display software is I can't suggest a
    solution. <br>
    <br>
    <br>
  </body>
</html>