This is almost true.
Think of it like this:
Packets Received-->Interface buffer-->Hardware Tx-ring--> Sent
If the Tx-ring has empty room, the incoming packet goes directly to the ring without going through an interface buffer.
If the Tx-ring is full, then the packet is put into the interface's buffer. This is when QoS decides the order that the incoming packets are going to go out.
The algorithms that affect this are things like WFQ vs FIFO and priority packets.
If the interface buffer is full, then the QoS policy starts deciding which packets it's going to drop. This is dependent on your bandwidth settings applied, RSVP, and other allocation settings.
Short story - your WFQ/FIFO/Priority queue will take place before packets are dropped. WFQ will prefer smaller, high priority packets, FIFO is first in first out, and Priority allows some packets to skip ahead in the interface queue before other packets.
If there is no dropped packets, all packets that are not shaped/policed explicitly will be allowed through.
And for the most part - most problems with QoS are related to packet loss. Therefore, most QoS problems only become relevant when the interface is congested.
hth,
nick