Clever sampling can save you a lot of grief. 'course, I may be outsmarting myself.
The point of the sampling is to pick the time where the current reading represents the average current in the motor. The current in the motor coils is a sawtooth + DC; sampling in the center of the bottom FET on- time gets you right in the center of the rising segment of the sawtooth, which gets you the average motor current that cycle. (Again, assuming I'm not outsmarting myself).
Yes. When the motor is pulling current in the "+" direction the current on the "+" bottom FET is negative and the current on the "-" bottom FET is positive. So the "subtraction" is really an add.
See the data sheet for the LM5109 -- that's representative. Basically most of the H-bridge gate driver chips out there have a charge pump for the high-side gate, to allow you to use N-channel high-side transistors. When the bottom FET turns on it charges up the boost cap for the high side through a diode; when the driver turns on the top FET it uses that boost cap to supply the gate voltage for the top FET.
It's all very clever, and on a bazzilion different gate driver chips. If there's someone out there doing something different I can't call it to mind.