Ah, of course. Yes, I am going to set up the system to do timer based sampling to improve accuracy by using a polled flag at even intervals (need to halt the other code running during this step anyway). This code was good enough for now, and simpler to explain. Once I've at least got qualitatively right behavior, I'll look into the timing details.
Right now, reading A4 a single time causes a persistent error on A1 but not A0. A0 still shows the same signal as before, but A1 starts showing crazy stuff. Since they're measured at the same timing, I don't think it's something like a delay causing the signal to stretch. The data collected also doesn't match my oscilloscope, so I am confident it's something in the Arduino as opposed to some oscillation in the sensor.
The opamp is the LT1638. You're right that it has a higher impedance, at most 1k, closer to 100 ohms at the frequency I'm testing at (plus the 50 ohm resistor).
The possibility of latching up the internal multiplexer sounds like it might describe the behavior I'm seeing. I don't think it should be able to drive the voltage that high, but I have some pads that I can put a zener diode on just in case.