To me, it looks like the darker foreground areas are way too dark (the tree on the right also looks like it’s got a dark mist around it?). Your lighting in the background on the castle looks a lot more diffused than in the foreground (much brighter on the shadow side compared to the foreground), and you need to be consistent. Either make the background just as directional as the foreground, or make the foreground just as diffused as the background.
Compositionally, that bridge and the house are butting right up against each other, sharing a contour edge, and that is a really bad idea, because it unintentionally flattens your z-depth and the readability of your major shapes/silhouettes. It’s better to separate them or overlap them (which will help creating more depth).
The way the hill splits the image into diagonal halves doesn’t work very well either, giving the two halves similar sized real estate in the image. Also, the castle and the red house both have similar sizes too, further worsening the problem. You want to make sure you composition has a strong hierarchy of size, so there’s a variety going from large and dominating, to medium, to small, to tiny shapes.
To get consistent colors between Photoshop and the web, as well as across different displays, you need to manage your color profiles. The easiest way to achieve consistency is to set everything to sRGB (your operating system’s color profile, in Photoshop, and if your monitor is wide-gamut and has an sRGB preset, use it). The only web browser that has color management is Firefox currently, so if you use Firefox, set it to sRGB too. Generally speaking, the OS and your monitor’s color profile settings should override everything else (in terms of what you see). Also, when saving your images for web, make sure the embedded color profile is sRGB. I also highly recommend any serious visual artist to get a hardware calibration device, such as i1Display Pro from X-Rite. It’ll make a big difference in how accurate your monitor is displaying the images.