I found this on the internet (Yes, I know it's Java but I think it's the same concept that can be applied with C# too):
"Integers are numbers that have no fractional part. In Java, integers are represented in a 32-bit space. Furthermore, they are represented in 2's complement binary form, which means that one bit of these 32 is a sign bit. So, there are 231-1 possible values. So, there is no integer greater than the number 231-1 in Java."
Link: doc Java (Sorry I found a link in Italian)
So according to this concept, when you try to multiply by -1, the result should be 2147483648, but this value cannot be represented because it exceeds the maximum allowed value, consequently it is ignored leaving the usual result.
Finally I found for C# Math.negateExact();
it is practically like Java:
Link: doc Microsoft
I hope I helped you.