First off, don't worry about that 90th percentile thing. Both height and weight are in the same range, so that really doesn't mean anything other than he's big for his age. His BMI is perfectly fine; for an adult, it would be slightly underweight; however, young children grow differently. They gain weight and get a little pudgy for a while, then they gain height without adding weight and get skinny. Their nutritional needs will vary as well: some days they'll eat next to nothing, others they'll eat anything that's not nailed down, sometimes they'll eat lots of veggies, sometimes they'll eat only meat and carbs. So long as your son is staying active, eating a variety of foods that includes fresh fruits and vegetables, and is healthy, you really don't have to worry about his weight until he's at least in the double-digit ages.
PS. A lot of pediatricians are hyper-vigilant these days because of the rise in childhood obesity. Keep in mind that BMIs are suggestions, not hard-and-fast rules. Athletes frequently fall in the overweight range because of their muscle mass. And, like I said, because children grow so fast and their BMI fluctuates so frequently, you really don't need to worry about that for several years.
PSS. My niece has the same problem. Her height is off the growth charts, but her pediatrician worries because her weight is in the 90th percentile. The fact that her weight is even on the growth charts is a good thing. My sister-in-law told the pediatrician to blow off - she'll worry about her daughter's weight if she ever does get "fat".