It ended up changing default value. I had no idea what the heck was happening. I tried to debug it, but there wasn’t much progress on that. Due to a time constraint, I ended up finding an alternative solution, using the product mass update function:
Hurray!… It changed the value without messing up the default one. The performance also increased by using this function. I didn’t have a proper test, but the load time after clicking the save button, to save 300 product price changes was shorten by at least 1/5. I think saving an attribute is less resource intensive than saving whole product. That was an interesting discovery!