First of all, that sounds normal to me. My 18 month old weighs about 19 pounds. My 6 year old weighs 37 pounds. My 4 year old weighs 26 pounds. Some kids are small. My husband and I were small kids. It makes sense that my kids would be small. When you are looing at the percentiles, obviously someone has to be in the 1, 2, 3rd percentile or there wouldn't be a higher percentile. Kids typically stop gaining or lose weight when they start to get mobile and are more active.
One question I would have, if you are giving him soy milk are you replacing the fats he is lacking? Whole milk is recommended for kids for the fats, not for anything else. My son had a milk allergy and we gave him soy milk with at least three tablespoons of added fats every day.
I would consider a second opinion. It seems like your ped is way, way, way overreacting. If he is meeting appropriate developmental milestones, eating a balanced diet, and otherwise healthy I would say he is just how he is supposed to be.