From ixus860_sd870/sub/100c strings:
ff8547c0 AudioIC_WM1400.c
Yep, that's definitely a different audio chip, my a570is has AudioIC_LA74310LP.c. LA74310LP is a Sanyo chip which also includes a driver for the video output jack. Google doesn't give me much of anything about WM1400, could be a customer specific IC or that may not be it's usual commercial name.
WM1400 is in at least ixus70/sd1000, ixus860/sd870, ixus950/sd850 and ixus960/sd950.
LA74310LP is in at least a450, a460, a560, a570, a650, a720, sx100.
s5is and tx1 have AudioIC_AK4646, a stereo codec by Asahi Kasei.
Also, I can't find any strings that would refer to AGC or ALC. The chip is probably entirely responsible of this dynamic compression you're suffering from, but it's quite likely that the firmware can configure it. Having a datasheet of the chip would be essential, then it would be possible to find where it's configured (strings such as SoundRecordController.c could lead the way). In both LA73210LP and AK464 their ALC features can apparently be switched off by software.