PWM switching purposes (VGS @ -12V, PWM is 20% @ 200us). The FET is switching in to a 200uH, 10ohm load
There is no freewheel diode, so when the driver brings the gate to +12V to turn off the FET, current in the inductive load keeps flowing and brings down the FET drain to whatever voltage is negative enough to exceed its Vds rating and make it avalanche. This means most of the energy stored in the inductor ends up dissipated in the FET.
Solution: add a freewheel diode, like a schottky or a fast rectifier. Either between pins 5 and 6 of the connector (lower losses, slower current drop at turnoff), or between drain and ground (higher losses in the 10R resistors, faster current drop).
At 10kHz there is no need for a special FET driver. If it doesn't switch fast enough, decrease value of R25 to give more base current to the BJTs. But don't make it switch too fast, you're not making a 300kHz switching converter, so there's no need to make more high frequency noise than necessary.
Since this is to generate a magnetic field for a metal detector, I wonder if the avalanche bit is actually part of the design, to get the current and magnetic field to fall very quickly. Here's a simulation:
In this case, a freewheel diode would completely screw things up by removing the sharp edge.
EDIT: How to get rid of the heatsink.
I've used a NMOS because better high voltage devices are available. You can use a PMOS, it will have a bit higher losses, just flip the schematic upside down. In fact you can use your existing circuit since the only change is a cap and a ferrite bead.
Here it goes:
The FET turns ON.
Current rises slowly in load inductor L2, until it reaches the desired value.
FET turns OFF. L2 is now in series with C1, and we have a LC series resonant circuit. It does exactly one half-period at its resonance frequency, and quickly flips polarity of current through L2, which makes the desired quick change in magnetic field.
At the end of the resonance half-period, voltage on C1 is back to zero and current in L2 has reversed direction. The FET's body diode turns on, and the energy stored in the inductor returns back to the power supply.
It returns about 90% of the energy stored in the inductor to the power supply, not that bad.
L3/R12 model a ferrite bead that could be necessary to tame a burst of ringing when the FET body diode turns off, because FET body diodes tend not to have the best fast/soft recovery.
The resonant frequency of L2/C1 is not important, but the peak voltage is, and peak voltage depends on the value of C1. So, C1 value should be just right to have the peak voltage as high as possible to get a sharp change in current, but not high enough to push the FET into avalanche, since the point was to avoid dissipating power in the FET. A proper capacitor type should be used (probably high voltage film or C0G).
Note increasing the power supply voltage will decrease total power used, since after implementing this energy recovery trick most of the power goes in heating the internal resistance of the 200µH coil. A higher supply voltage means it will take less time to reach desired current, so while instantaneous power dissipation will remain the same, it will be shorter, so lower total amount of energy wasted.
Here is a simpler version, with a switch instead of the FET. There is no body diode, so the LC oscillation goes on, but if there was a body diode, it would stop when the FET drain voltage goes to zero, indicated by the arrow.