Limiting minimal scale to 1 still goes to negative values
This is known essue, and now it has "To Do" status: 

https://developer.blender.org/T37623

And this is one of two unsolved problems from 2018 TO DO animation list:

https://developer.blender.org/T55365

It's sounds easy, until you try to make it work on matrix transformations.