I see you are using field initializers. That can often lead to mass confusion such as what you see. Here’s why:
Field initializers versus using Reset() function and Unity serialization:
Serialized properties in Unity are initialized as a cascade of possible values:
what the class constructor makes (either default(T) or else field initializers)
what is saved with the prefab
what is saved with the prefab override(s)/variant(s)
what is saved in the scene and not applied to the prefab
what is changed in Awake(), Start(), or even later etc.
So you want to make sure you only initialize things at ONE of the above levels, or if necessary, at levels that you specifically understand in your use case. Otherwise errors will seem very mysterious.