So I have 3.55 gears and my speedo is about 30% off. So I buy a 20 tooth speedo gear which is correct for an 87 5 speed with 3.55 gears. I go to install it and there is already a 20 tooth in there. Now what???
Perhaps you tranny was replaced or had work done on it, and you got a '90+ 5-speed or a different drive gear. The '90+ 5-speeds require a 23-tooth driven gear.
The alternative is to change the drive gear to one with fewer teeth.
Don't forget that non-stock tire size will have an effect too.
The stock range of speedo gears work correctly with a limited range of tire sizes. The 23 tooth white gear works good for some guys, but self destructs in a few months for others.
Check to see if there is a speedometer shop in your area. If there is, ask about the Stewart-Warner speedometer gearbox. I believe it is either a 777 Series Drive Joint Kits and Parts or 666 Series Drive Joint Kits and Parts. It is a small gear box that fits between the speedo pickup gear on the transmission and the speedometer. It has quick change gears that allow you to choose almost any tire size and rear end gear ratio you want. This will allow you to get the accuracy within 1%-3%. The drawback is that it isn't cheap.
Please excuse the typo (their's, not mine) in the following picture - it should read Custom ratio adapters, not Custom radio adapters.
stock gear teeth from 86-89 T5 is yellow in color and have seven teeth. I have my tranny out right now and just looked at it. 90-95 T5 has eight teeth which is green.