Hi Chris,
I have reproduced the same behavior, the problem is that the I2C slave processing is handled entirely in the I2C slave interrupt handle in real-time, when using a 400KHz clock it will give the slave less time to do the processing. You could try modifying the handler removing the code not needed for your application and enabling the code optimization for the project.
Hope it helps!
Best Regards,
Carlos Mendoza
Technical Support Engineer