Thank you for going to all the trouble to do that (well, if it were me I wouldn't be able to prevent myself -- but thanks anyway).
The current is measured in the middle of the on-time of the lower FETs of the bridge. Because of the way that the processor wants to drive the FETs this happens to be at the same time, but that's probably immaterial (if anything it should help).
To the extent that the current thusly measured is representative (and it certainly double-checks against meter readings pretty well) it does not need to get flipped -- the current read at the - terminal of the motor is subtracted from the current read at the + terminal of the motor, and that's that.
(In theory I could just use one -- with two I get a bit of improved SNR).
It looks like it. Rmotor is calibrated for what works in practice, which should take Rsense into account (Rmotor also visibly changes with temperature, by much more than Rsense).
In operation there is a "drive" variable that ranges from -1 to 1, from which the duty cycle is computed such that -1 drive generates a duty cycle of 100% in the minus direction and +1 drive generates a duty cycle of 100% in the plus direction. Then the drive absolute value is limited to a bit less than 1 so that the charge pumps work correctly and so that the current reading settles before the ADC reads it.