BP based on C++ class does not reset a component's defaults

It may seem like an inconsistency on the surface, but it actually is not. If the default values for a component are changed in a Blueprint, and then the ability to change those default values is removed, the values would not get reset to their original value from when the Blueprint was first created. The changed values would be retained in that Blueprint, but it would not be possible to further adjust them without adding the ability to change those values back in. If you were to add the ability to change the values back to the parent class, any values that had been changed the first time would still show their changed values and not the original values from when the Blueprint had first been created.

This is intentional behavior, since it allows you to change the default values in a Blueprint and then prevent any further accidental changes by removing the ability to edit the values. If any additional changes need to be made, you can add the ability to edit the values back into the parent class. If you wanted some or all of the values to be reset to their original defaults, you would need to make them editable and click the “Reset To Default” arrow for each one, or create a new Blueprint which would be created with the original default values.