I have been testing Vesc controllers for a couple of years now on my ebike and I have ran into issues when using dissimilar motors connected using CAN.
the problems all stem from VESC using ERPM as its basis for all the calculations, so when using 2 different motors or even 2 different sized wheels as it causes problems they don't match.
Problem 1 Speed limit profiles do not work, When the APP is connected to VESC 1 and I set a speed profile it uses the ERPM ratios of that motor to set the ERPM limit on VESC2 but the second motor could be totally different so it ends up with essentially a random ERPM limit.
Problem 2 Traction control does not work, because the ERPM of the motors is so different its not possible to use it.
Problem 3 Motor direction is ignored, when reversing one motor in software to get it to run the correct direction the profiles ignore that and still act on the reversed ERPM so the reverse speed limit ends up effecting that motor instead of the correct forward limits.
Solution is a ERPM ratio on the motor so it has a true ERPM and a Virtual ERPM that can be set up different on each controller so all the virtual ERPM numbers line up even if all the motors are different.