Drive a resistive heater from a low power IC
Working on this problem you're going to encounter a number of tradeoffs and for each problem, you encounter you'll be able to solve it a couple ways introducing new problems.

In the comments people are describing efficient solutions because really big transistors are heavy and need heat sinks and airflow to cool them. 

We're going to assume your heater dissipates 18W when connected to 27.8V so you have enough overhead to be able to switch it and still meet your target. This means we can find it's resistance solving P=V^2/R to find R=V^2/P = 43Ohms. If not, then you'll have to do some sort of voltage conversion to drive the heater properly.

If you're driving a resistive heater with a 43Ohm resistance at 50% with an appropriate analog drive wave your worst case power output is going to be 25% of the total from the switching element (regardless of the type) 4.5W is a lot, but you can get packages and heatsinks to handle it. If you do you can filter the gate input with a RC circuit as you've described and you'll see very little switching noise. If you do so with a MOSFET (which is a decent way to do it) it will dissipate the same amount of power as a darlington pair but the MOSFET might be less suited to dissipating it properly. Don't use a MOSFET or a BJT's rated maximum voltage and current to compute rated maximum power. It's a separate limit and is often defined by various thermal limits on the package.