I also run with fuelTypeBasedAcceleration=true (which is preferable, IMHO)
But I found the culprit. I calculate the locomotive force based on the fuel that is currently being burnt. (!)
When I create these trains, put fuel in them, and send them on their way:
A: [<<][<<][CARGO][CARGO][CARGO][CARGO]
B: [<<][>>][CARGO][CARGO][CARGO][CARGO]
then A is significantly faster than B, because... the 2nd locomotive of train B has never had a reason to burn anything yet, so the burn-slot is empty, it only has filled fuel-stacks.
So if I move train B back and forth a bit, colloquially known as "the wiggle", it triggers both locomotives to shortly burn fuel, after which train A and B are equally fast (well, >99%).
This is all measured with MUTC disabled. This was the reason of our different observations. I'm not yet sure how to fix it (or if it should be fixed). The workaround is to have the train reverse direction at least once, and after that there will always be something in the burn-slot.