Subtotal calculates from original product price, disregards applied per product discounts
Since this question is now almost 2 years old, I assume this "discount" that they were dealing with was an older version of commerce_discount. The newest version doesn't have any kind of subtotaling problems because it affectively utilizes the price calculation system for discounting.