Thanks for clarifying your truck's details and history. Sounds to me like old age and higher mileage got to your speedometer's air core motor. To me your tach is a mystery unless it has also succumbed to the age/mileage. Actually, yeah, I suspect that's exactly what it is considering it has 576,000 kms on it - about double what mine has.
Now, your fuel gauge - mine is just starting to do that in the past year. THAT is apparently a pretty easy fix. I've seen it on youtube. You need to inject some light oil (sewing machine, shaver, etc.?) down through the needle shaft of the gauge's air core motor and hey presto, no more bump bounce boogie.