CAN DATA Discrepancy Between UNO & MEGA

Do not forget about the SPI communication on the Arduino UNO, they can block the code execution, especially if the transfer takes longer than expected or if there are issues with the connection. This can lead to the program hanging until the transfer is complete.

Since you have the scope you can check this as well. There is a buffer in the CAN controller chip, That gives you a little timing room.