I don't know how the circuit will respond to startup transients.
I think the input diode is backwards.
Consider what happens when the microcontroller starts up. Usually, the output pin is floating and that might be fine but I would add a pull-down resistor the the base of the first transistor. I want to KNOW that it is off, not just sitting there with a dangling base.
When the code starts, it is important to set the pin output to the proper output state before actually configuring the pin as 'output'.
Overall, I wouldn't use the circuit. I am not at all convinced that it couldn't be induced to misfire. At a minimum, I might add a physical relay to the 28V supply and control it from a second pin of opposite polarity. One output would be a '1' to fire and the other would be a '0' to fire. I might even go further... I would almost certainly have some kind of toggle switch in the 28V supply.