I realize this is a darktable topic, but on the subject of haze I’ve added a G’MIC filter to make the brightness even across an image. That can make it easier to work with contrast afterwards - it’s like a partial de-haze. If you have G’MIC it’s under testing -> garagecoder -> “normalize brightness”.
The premise is simple: apply a local area tone curve to push the local average towards the image average (or a desired average). No doubt there are many better algorithms out there but at least it’s reasonably fast.
The above is from your last jpg posted, default settings.