Also honestly, it should be totally fine to create code based material subtypes of a reflected material.
mi_my_material_custom := class<public>(m_my_material):
@editable
var Saturation<override>: float = 0.0
What would speak against code based subtypes that override the parameters in code rather than in an asset?
The current reflection behavior and restriction has no real value to it other than creating unnecessary friction in the code base.