Setting Geometry Nodes Modifier input socket value in python overrides input's subtype

This seems like a bug in 4.0, or maybe not. Please let me know…

I have a geometry node modifier, I want to set the value of one of the inputs to certain value.
The input socket has a subtype of ‘Distance’ and my scene has metric units of millimetres for length.
But when I try to set it via python to 0.001, it displays from then on in the modifier panel as a normal float: ‘0.001’, when it should display ‘1 mm’
I checked the subtype of the original node tree and it explicitly says Subtype is set to Distance.

What’s going on here, is there something wrong with this statement?

bpy.data.objects["Cube"].modifiers["GeometryNodes"]["Socket_2"] = 0.001