The washed out colours are indicative of an HDR to SDR conversion issue. The Color transfer function: SMPTE ST2084 (PQ)
indicates an HDR file.
It is possible that VLC is correctly detecting the type of content and the display and doing the correct tone mapping as a result.
You may need to add a filter to do the tonemapping. According to a comment at Why does ffmpeg's "tonemap" tone mapping filter give me different colors depending on the output format? a correct filter would be
-vf "zscale=transfer=linear,tonemap=hable,zscale=transfer=bt709,format=gbrp"
So your ffplay command would become
ffplay -i input.mkv -vf "zscale=transfer=linear,tonemap=hable,zscale=transfer=bt709,format=gbrp"
-vf "zscale=transfer=linear,tonemap=hable,zscale=transfer=bt709,format=gbrp"
as suggested by a comment at superuser.com/questions/1465562/…