A company's goal is to maximize profits, if mining asics while selling asics achieves this goal, then they should do it. it is not immoral at all.
It is when you've already sold the product. If BFL had inventory on the shelf and they disclosed that units that hadn't been sold were mining prior to your purchase, that would be one thing. Keeping units that customers have already paid for months in advance in order to mine with them for profit before shipping them out is another thing entirely.
If you bought a new truck from a dealership and it arrived on Wednesday but you can't pick it up until the following week because the salesman wants to haul a couple loads of lumber up to his cabin on the weekend, you'd be pretty pissed off too.