Seems like it should be fine. If you look at the library, the begin method does return an error code:
https://github.com/epsilonrt/ad7124/blob/master/src/ad7124.h#L203
Maybe check whether begin returns zero or a...
Taking an educated shot in the dark, but my bet is that you just need a delay before adc.begin. When you upload code, the ADC is sitting there powered for a long time before it starts receiving commands from the Teensy....
Would analogWrite (https://www.pjrc.com/teensy/td_pulse.html) do this? I recall investigating on a Teensy 3.x and finding that with analogWrite the rising edge of the PWM would be in sync for multiple pins. I'm not sure...