After placing the PWM signals on the scope, there appeared to be contention on the TPM0_CH0 pin (J10 pin 12, PTC1/FTM0_CH0 on the TFC shield schematic).
Tracing it led to the OpenSDA micro sending a 32kHz clock to the KL25 through R24 on the FRDM board (same for both Rev D and E: http://cache.freescale.com/files/soft_dev_tools/hardware_tools/schematics/FRDM-KL25Z_SCH_REV_E.pdf).
Replacing R24 with a 5.6k resistor resolves the contention.
Per John's suggestion, I've written to the FRDM board apps contact to see what the best long term fix for this is. Changing the mbed firmware to not provide this clock is one potential fix.