I think I know now what's going on and it does look like a kodi bug to me:
Even with a SDR display connected (which doesn't report support for BT2020) kodi sets the Colorspace connector property to BT2020 - and my HDFury also shows that in the received AVI infoframe.
2026-06-15 19:59:50.957 T:935 debug <general>: virtual void KODI::WINDOWING::GBM::CWinSystemGbm::SetColorimetry(const VideoPicture*): setting connector colorspace to BT2020_RGB (source BT2020_YCC)
But as the connector doesn't have the HDR_OUTPUT_METADATA property kodi it detects it as a SDR display and performs tonemapping:
2026-06-15 19:59:50.957 T:935 debug <general>: LinuxRendererGLES::Configure: HDR passthrough: off
...
2026-06-15 19:59:51.210 T:935 debug <general>: GLES: Requested render method: 0
2026-06-15 19:59:51.210 T:935 debug <general>: GLES: using shader format: NV12 red/red/green
2026-06-15 19:59:51.210 T:935 debug <general>: GLES: using tonemap method: reinhard
2026-06-15 19:59:51.210 T:935 info <general>: GLES: Selecting YUV 2 RGB shader
2026-06-15 19:59:51.210 T:935 debug <general>: GLES: using shader format: NV12 red/red/green
2026-06-15 19:59:51.210 T:935 debug <general>: GLES: using tonemap method: reinhard
I'm not familiar with the inner details of kodi's tonemapping implementation but I highly suspect that will do both PQ->gamma EOTF transformation and also BT2020->BT709 colorspace transformation.
So I guess kodi outputs a standard BT709/gamma SDR image, but signals BT2020 colorspace which doesn't quite match.
smp could you have a closer look at the kodi code?
so long,
Hias