I can't speak specifically to the TJ as I have not tested it, but in other vehicles, specifically Nissan and Toyota trucks, there is a discrepancy between the odometer and speedometer. They both come from the same source (speed sensors), but in my trucks, an accurate odometer (based on GPS tracking miles for 30 minutes or more), ends up with the speedometer reading fast by about 2-3 mph at highway speeds. On those same vehicles, when the odometer is correct (and dash speedometer subsequently reading a bit fast), the OBD speed reading is actually correct. So the vehicle knows what the correct speed is, yet the dash gauge reads a bit fast.
I believe this is fully intentional by the manufacturers to help provide a speeding buffer. I would assume the same happens on the TJ. Where a perfectly accurate odometer (likely accurate in stock form) ends up with the speedo itself reading a bit fast. I would assume this is what you are facing and it is probably the same on all TJs, folks just don't notice it because they usually correct the speedo to where the speedo itself is accurate and don't pay attention to the OBD speed itself, or the odometer and how many miles it tracks vs actual logged by GPS.