NeoHWSerial/interrupts

It show irregular speed

Then the OBD functions may be taking too long, causing it to lose GPS characters. You should try the INTERRUPT style (see Reply #4). If the speed becomes reliable, then the OBD was taking too long.

Are the OBD temperatures good?