I agree with both of these.
I have a JK-BMS and I see this issue all the time. The reported state of charge on the JK BMS is just plain useless. It only resets to 100% if you run the battery up until a cell hits the over voltage protection. Then it tries to track the current from discharge and charge to count the energy used. It drifts off fairly quick. Mine will sometimes show down to 0% even with the battery voltage above nominal per cell. So I just ignore it now, it is not worth fighting.
I would double check all of the electrical connections to make sure there is no issues. Run the system at a high current and check if any connections are getting warm. If all the connections are good, and the 4 batteries are sharing the current within about 15%, then I would not worry about it. Parallel batteries will share the current based on their true capacity. A weaker battery will initially discharge a little faster, and once it's internal voltage falls a bit more than the others, it's current will drop until the voltage falls at the same rate as the other batteries. A 110 amp hour pack will end up pulling 10% more current than a 100 amp hour pack. My 2 banks should both be the same 360 amp hours, but the newer bank consistently pulls about 5% more current in both charge and discharge. That is just due to the cells having a little more capacity. Even different wire lengths are not that big of a deal. The batteries will find their balance.
And I agree, the voltage calibration is likely off on at least the one reading 300 mv low. Use a good quality meter and measure the voltage at each BMS and see how close that reads to the BMS reading. The voltage is easy to calibrate. Just tell the BMS what the true reading is and it will apply a correction multiplier.
I do not recommend trying to calibrate the current. You will most likely just make it worse.
To do it right, you need a very steady high current charge power source. You want to do it at as high of a current as possible as any error will be multiplied as the current increases. And use a shunt, not a clamp meter as DC clamp current meters are not all that accurate. A good shunt is far better. Once you have a known solid current supply, you can then tell the BMS what that current is and it will again apply a correction value. But if the current changes at all from your measurement to when you set the value, this will cause an error. And I also found out the JK BMS only samples the current, it does not average over time. This makes it so you need a very clean true DC current source. My Schneider inverter puts out pulsing DC at 120 Hz. It is just a full wave rectified sine wave of current. And the JK BMS could take it's sample anywhere along the wave. So the reading I see on mine varies from 50% to 115% of the true average DC current. This issue alone can also cause the state of charge to drift off. Over time, it does average out a bit, but it can never fully hit a perfect average of the current waveform. When my system is charging just from the Victron DC charge controller, the current reading is far more stable. But it still is constantly changing some due to the amount of sunlight on the panels and the MPPT tracking causing small variations in output current. So that is also not a perfect current calibration source.