Why is Full-speed USB considered differential and what is its common mode?
USB signaling is called differential because it is differential. The state of bus is either one line (D+) is HIGH, the other (D-) is LOW. And vice versa. The receiver is connected in a differential way, and senses either positive DIFFERENCE, or negative. So it is differential. 

The idea that current should be either sourced or sunk is fairly narrow. For example, the very popular LVDS signaling uses two levels on each of signal pair of wires, VH is 1.4 V, and VL is 1.0 V. Yet no one is questioning differentiality of this signaling standard. 

Same in USB: for FS signaling mode, VH is 3.3 V, VL is 0 V on each individual wire. An the packets use alternative states (called J and K) to transmit information. The receiver senses either +3.3 V, or -3.3 V.

For the HS signaling the VH is 400 mV, VL is 0 mV, so the differential signal goes from +400 mV to -400 mV.

CORRECTION: In both cases the common-mode signal is half of nominal voltage swing. Section 7.1.4.2 of USB 2.0 Specifications explicitly mentions that nominal common-mode voltage for HS signaling is 200 mV.

When BOTH USB wires have additional offset, for example, due to signal shift in ground return wire (due to power supply current, which happens on bus-powered devices on long and/or skinny cables), the receiver must tolerate this within USB specified limits.