Some updates, we are definitely seeing extra nibbles in our RMII TX data.
However, even with the data on the wire being corrupted, we sometimes see a CRC that would match the packet that was intended to be sent out. Which would imply to me that the correct packet is reaching that MAC.
Here is a graph showing the extra clock cycles we see based on the packet size.
For example, for a 60Byte ARP packet, we are expecting to see 72Bytes on the wire (7B Preamble + 1B SFD + 4B CRC). 72Bytes * 20ns/(di-bit) * 4 (di-bit) / Byte = 5760ns.
However, when we measure on the wire we see 5980 ns for the frame. This was measured using the DV signal.

We've tried looking at the registers, comparing the clocks, power supplies, not sure how to explain the extra nibbles.
The full label on the chip we are using:
S32K344HMS 1P55A CTAK2228V