AMEX does indeed have to pay DL for the miles. A couple of years back, Amex stuck a deal where they paid for miles in advance to give DL as cash infusion. Not sure if Amex has burned through these prepaid miles or not. Either way, AMEX pays for the miles.
This is true for all the airline partners that award miles. The carrier sells the miles to the credit card companies, rental car companies, hotels etc. Selling these miles is a HUGE cash cow for the airlines.