This is definitely an appropriate thread to ask on. Let me explain all of the rates.
50 Hz servo rate: This is the standard update rate for a servo signal. Both of our ESCs can handle much faster update rates up to around 400 Hz.
4 Hz I2C rate: This is the suggested rate for reading only. I would definitely suggest writing faster at 10-100 Hz. The reason for the slow rate is because the onboard sensors for voltage, current, and temperature don’t update very fast (around 1 Hz right now). Additionally, the RPM is sent as “pulses since the last request”, so that if you request very often, you’ll only get a couple pulses and the RPM measurement will be noisy. If you request a 4 Hz, there will be many pulses between requests and you’ll get an accurate RPM.
Just to be clear, you can read much faster if you want.
And yes! You can command via PWM but still read data from I2C. The PWM interface is prioritized over the I2C one so that if it is getting valid PWM signals it will listen to those.
I hope that helps.