I have a gauge cluster from a 95 4.0L Exploder in my 95 2.3L Ranger. Tach works fine, spot on. From what I've read when I was researching my swap, the speedometers and tachometers are the same in any given model year so it doesn't matter what engine you have. There are differences with the temperature gauges though and even the layout of the various indicator lamps. On my truck, the engine temp reads a little low, but I could fix that by experimenting with different resistor values on the back of the cluster.
As for your tach being off, is it possible someone pulled the needle off and didn't calibrate it properly when reinstalling it?
I know for certain there are differences in the indicator light layout between a 95 and 97. (95 and 96 are identical, they made some slight changes in 97). Did you swap wiring harnesses with the dash swap, or keep the original 97 harness?