Heatsink on top of SMD plastic IC or bottom of PCB?
The general rule is, there is no general rule.

In every case, you need to understand the complete thermal path from die to ambient.

Some SMD parts have thermal pads, in which case, you can use lots of copper vias to conduct the heat to the other side of the PCB where you can deal with it more effectively.

Other SMDs use only their lead frames to get rid of heat, in which case, you can do much the same, with the additional requirements for electrical isolation.

Applying a heatsink directly to an epoxy package is the least desirable &mdash; but sometimes the only available &mdash; option.