Inductances don't just magically make voltage spikes, the voltage only goes as high as you allow it to. A MOSFET H-bridge is clamped by the body diodes, so there is no spike from load inductance at all.
What you will have trouble with, is the complex network formed between junction capacitance, stray inductance, supply bypass, output lead lengths, and anything else nearby. When one transistor turns on or off, and the voltage swings, the dV/dt charges and discharges capacitances, which draws current through stray inductances. As combinations of transistors turn on and off, you get a couple different resonant networks, and if they are mismatched to your switching speed and load, you get large current and voltage spikes within the bridge itself.
At frequencies this high, you don't have the luxury of "minimize inductance". It is not physically possible to build a circuit this fast, that also switches slow enough to avoid exciting those parasitics.
And yes, that means parasitics (mainly stray inductance) are proportional to length. Lead length, trace length, distance between devices: all of this matters!
So you must instead optimize parasitics. Make sqrt(stray L / junction C) <= (load V / load I). And yes, that means, if you can't reduce stray L enough (because you're limited by layout size -- those TO-220s have a whopping 7.5nH ESL from drain to source, mind!), you need to increase C, even though that makes peak current and switching speed worse.
BJTs driven lazily by a couple resistors won't suffice at 400kHz -- here's a driver I built for 2MHz:
The logic signal comes in on twisted pair on the right, goes into a differential amplifier, then a common-emitter amplifier with CCS load, then a BJT follower, then a MOSFET inverter (complementary common source), then another BJT follower. Rise/fall time is only 12/8 nanoseconds:
The overshoot and ringing is intentional, as the MOSFETs produce a lot of shoot-through current in this configuration. The waveform is quite adequate to drive MOSFETs with 50nC gate charge at 2MHz. The drive power is almost a watt with that load!
Notice the construction: copper pours over ground plane (the PCB bottom side is solid ground, with vias coming to the top side every so often). The shielding effect is necessary to deliver this much current, this quickly. You have the added challenge of needing one driver to float on top of an RF output, which means you need enormous CMRR at its logic input. It may not even be feasible to use a "flying" gate driver at all, because of the parasitic load of all that extra metal.
I would not use bootstrap power here.
Tim