One small difference I had in my script is that since I wanted in the future to make an health bar, I did need to keep track of current health points and max health points, thus I was storing both data at Awake
void Awake()
{
maxHealthPoints = GetComponent<BaseStats>().GetStat(Stats.Stats.health);
healthPoints = maxHealthPoints;
}
Could it be that for this reason the bug did never show up to me? I did even try to replicate it by saving and reloading multiple times, but it never happens