I don't think it's your altitude, either. I'm in Utah, and boat between 4,200-4,600 regularly. When I hit the throttle, it goes to 8,100 quickly, the boat doesn't get going too fast out of the hole, then the RPMs drop some and the boat picks up speed. If I keep it "floored," it'll go back up to 8,100 and reach a top speed of somewhere around 40 or so. (I say "or so" because the speedo will say I'm going faster than that, but I know they tend to be optimistic, but I don't have a GPS or anything to get a true reference. I'm guessing 40-45 MPH depending on conditions).
My wear ring and impeller look fine. But I know I need to fully seal the ride plate. I checked it earlier this spring and noticed it's not fully sealed. Neither is the intake grate area. I was going to post some pictures to get confirmation about sealing them but I can't find my camera. It's seems to have walked away, possibly with the help of a teenage daughter.
Anyway, if the impeller and wear ring look good, the only thing I can think of is if you've got a significant air leak going on. More so than me. There are neoprene seals around where the pump attaches to the hull. I'm not sure how to test for that, as I haven't had that issue, but I think you might be able to get some oil/grease in there as a tempoary test to see if conditions improve (in which case that seal would be the thing to replace). The part isn't expensive, so if you have the time and inclination, it might be worth ordering the part and replacing it (and sealing up the ride plate fully, if it isn't already).
Another part I've heard can be an issue (again, I've not had the problem) is the rubber axle boot that goes around the drive shaft for the impeller. You can see it looking into the intake grate. If that was a problem, you'd also want to replace the rubber o-ring and metal c-clip that holds the carbon ring in place. Wish I had a camera…