Material instance is not reflected as a subclass of the reflected base material

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.