I tried 2 DACs. One was a CEntrance DACport LX flashed with the iPad firmware, and the other was a cheap off-brand thing (ELE EL-D01 on eBay). Both of them "worked", but I encountered the same issue with each: I tested both by playing a Youtube video, and the audio was not playing back at the proper sampling rate. The audio was slightly slowed down... as a result, pitches were slightly lower, and the audio lagged behind the video pretty significantly. If I had to guess, the audio was 48kHz, and Android was trying to play it back at 44.1kHz without resampling it first.
Why it was doing this, I have no idea: on a Nexus 4 running stock Jellybean with jacknorris' patch (which, AFAIK, doesn't pay attention to sampling rates but just assumes Android will handle that properly elsewhere), this works perfectly. However, it was fascinating/encouraging to see this work at all on the Moto G: it means that with stock firmware, not only does OTG/USB host mode work, and not only does the kernel have the stock Linux USB DAC driver compiled in, but the Android framework itself attempts to use the DAC, which is *definitely* not true with plain-jane AOSP.
One thing I was sad to see (which also seems to be true of a LOT of other Android phones that support OTG out-of-the-box) is that if I injected 5V from an external source into the USB power lines, the phone would NOT charge as long as OTG mode was engaged. Which means that, at least with the stock Moto G firmware, you can't both be in USB host most *and* be charging the battery at the same time. (Interestingly, the very first time you plug the power in, the phone says "charging", but it's quickly obvious it isn't. If you unplug and re-plug the power in after that, it will not show the lightning symbol on the battery any longer until you reboot the phone. Normal USB chargers continue to work without the OTG cable without requiring a reboot.)