My money is on the voltage divider on the cluster board. The divider that biases the op amp for the tach is printed on a ceramic substrate. It is exposed to the air, and over time deteriorates.
By comparing the analog tach reading to the the digital rpm value on a scanner connected to the ALDL, it is easy to determine if the tach is reading correctly.
It is my understanding that over time and exposure to air, the resistance value changes, resulting in the analog tach reading to creap up. (Mine was reading well off the scale when it was at only 7000 rpm.)
Check that first. If tach calibration is the issue,
"there is an app for that!"

P.