Viewport and compositor mismatch

I am attatching this file to showcase what I am trying to say: The sky looks more vivid and the shadow under the car looks darker. That’s how I want it to be. But the compositor makes it lighter. It makes the image lighter, shadows much lighter and everything looks better in the viewport.

Is this normal behaviour? How can I make the shadow under the car keep its darkness and not ligten up?

The backplate I have used is how it is in viewport. It is the compositor!

How can I keep the darkness of the shadow while keeping the backplate and car unaffected?

I see two issues.
First one is JPG as file format for saving production shots. JPEG is for Facebook, WhatsApp. JPEG uses a lossy form of compression, meaning that some original image information is lost and cannot be restored, affecting image quality.
If you have already invested a great amount of time for such greate 3d design, please save it in a professional way using EXR or at least PNG 16bit.

Second thing, which has the most impact, is the filmic filter. It is a kind of Instagramm filter overlay over your viewport image. If you save an image with filimc filter, it may happen, once you load it again in Blender, that it gets “double-filmic” adjusted. It is currenty very wierd how Blender deals with it: if you open a saved high-dynamic range image (like Exr, HDR, basically everything in 32bit color space) directly in the image viewer, it will be represented in linear color space without applying filmic overlay. These images will look different from you have seen while rendering (probably what you experience now).
Mystically, if you load those images as a input-node and then show them in the image viewer, the filmic filter will be applied on them and they will look as you expected.
As far as it can be researched, Blender does not save this exposure-effects (filmic) in the image file.

There is a very detailed disscussion about this issue here, please check it:

I started few days ago researching this issue and have huge difficulties to understand this deviations in Blender, but a short dirty workaround would be in my current opinion to:

  • render images as PNG and load it in compositor as input node. So far it looks by me exact as the render preview.

best regards
Igor Posavec