How CAN frames are communicated to realdash

from what i can gather, essentially there is 12 bytes transmitted.
<uint32_t messageID><uint8_t[8] data>

if i received an id of “0x680” and a data packet consisting of “0x01 0x02 0x03 0x04 x05 0x06 0x07 0x08”

the Arduino serial.write command would be as follows:
uint8_t preamble[4] = {0x44,0x33,0x22,0x11}
uint32_t msgID = 0x0680;
uint8_t data[8] = {0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08};
serial.print(preamble,4);
serial.print(msgID,4);
serial.print(data,8);

without any space padding or new line characters.

does this sound or appear to be correct?

Well, yes. The package for one frame is total of 16 bytes (header, canid, data bytes)