I experienced the same issue with a view sonic a Mini M1 and a Caldigit TB+ dock. (There is a solution, so keep reading!)
For a long time I used the HDMI output of the M1 mini and the DisplayPort output of the CalDigit to get a working setup. I found it very frustrating. Recently (after the 3rd update to bigger), I thought that this might have been fixed and tried again. With no luck. I changed the USB-C cable for good measure (same issue) and then started to google around. Sure enough lots of other folks had the same issue. Seemed to affect LG display. One message tipped me off though saying that the protocol over HDMI can use a dynamic range and that somehow this may be the cause of the issue. I decided to give it another shot and looked into the menu of the ViewSonic.
Sure enough there is, under "Color Adjust" a menu for "Color Format" that has
- Auto
- RGB (Full range)
- RGB (Limited range)
- YUV (Full range)
- YUV (Limited range)
And, low and behold, the display was set to "RGB (Full range)". On the hunch that the M1 was sending a limited range, I decide to switch to auto. And it instantly fixed the problem!
I am now running two 4K displays one hooked up via HDMI on the mini, the other via USB-C on the TB dock and everything works blissfully well.
I'm posting in the hope that it helps some of you. Go check the menu of your display and make sure that anything is color adjustment that refer to the "range" in RGB can do automatic or reduced.
Best of luck!
---
Laurent