I would recommend going for LC-MS- on ORBITRAP, and using different columns to depend on your lists of metabolites who you want to separating ( i suggest hilic for small molecules, Hss-T3 to get both small and big ).
The real question here is what do you mean by polar, low molecular weight non-volatile impurities? Your description covers everything from silicon carbide to hexanol. Depending upon what you are looking for and the levels of impurity, there are a very wide variety of methods that may be better suited to the determination that you are trying to do. Depending upon the concentration of the impurities in bulk of the sample, and the similarity of the bulk of the sample to the analytes, there may be matrix modifications required to be able to allow the measurement of the analytes in the presence of an excess of other materials.
Given the lack of detail in what you are looking to measure (identity, concentration range or both) and to what level of detail and precision, any recommendations on methods or techniques is pretty meaningless.