When i press a button to subtract 1 from 5 it skips to 3
Your main problem is that you aren't looking for a change in buttons. You're only doing your adding or subtracting while a button is pressed.

That means, all the time you're holding btnLEFT in your total is incrementing until it hits your limit.

You need to remember the button state from the previous iteration of loop() and compare it to the current state - and only if they differ do you need to do anything.

Also you should perform your constrain immediately after your addition or subtraction. As it is, you add or subtract, display the new value (I assume you do - I don't see the code for that), and only afterwards do you then chop the value back down to +/-4 (assuming it's outside the range). So your 5 becomes 4, and your next subtraction takes you to 3.