There's not a lot of obvious documentation about how to work with non-SDR color spaces and transfer functions, especially for fixing issues. That's where this gist comes in.
This changes the metadata, losslessly fixing the improperly tagged file so that you don't have to re-encode.
ffmpeg -hide_banner -i input.mov -movflags write_colr+write_gama -c:v copy -colorspace 9 -color_primaries 9 -color_trc 16 -map_metadata 0 -c:a copy -movflags +faststart output.mov
This tags it as 9-16-9, which is the ST.2084 transfer function with BT.2020 color. Other values (such as for HLG aka ARIB STD-B67) can be found here.
- Thanks to /u/finnjaeger1337 for the tag command source