The biggest reason is the negative (or spoiling) effect of having a body "in the way" and disrupting the flow field above the wing. A wing makes lift by redirecting a very large package of air downward (actually, up a bit, then down a lot) as the wing moves along, and most of the package of redirected air (which ends up as downwash) is above the wing. (Otherwise, the wing would just be an air deflector and a flat sheet of plywood would do the job.) Disruptions to this upper flow have to be minimized.
Look at any tactical fighter, like a Skyraider, festooned with rockets and bombs and tanks under the wing almost across the entire span. The disruptive effects of all those shapes on the underside have minimal effect other than parasitic drag. Put them on top and they act like spoilers and the airplane would never get off the ground.
On airplanes that do put the engines on top, either the engine is so far aft that it minimizes the effect and it might was well be mounted on tail pylons (like the Honda Jet), or the engines are mounted way forward to minimize the effect, plus gain from having the high velocity fan stream across the top, or it's propeller driven and the propeller flow field mitigates the effect, or, it was done anyway and the design was unsuccessful.