The Jen Syntar GS-3000 (among others) was doing onset detection on signal from hexaphonic pickup in the analog domain in 1978, so we ought to be able to do something similar or better with all this power! :-)
I'd do a band-passed envelope detector with a dynamic threshold. The threshold is set based on the current value of the signal: you want to see a large enough spike from the current 'steady state-ish' level. That's sort of what spectral flux does: how much of the spectrum changes from one frame to the next.
The example PureData/envelope-trigger shows an example of sample-accurate threshold detection with manually-adjustable threshold. It doesn't have a proper envelope detector, but you can add one by adding a tunable lowpass filter after the [abs~]. The hv_ abstractions come from https://github.com/enzienaudio/heavylib. As it is, it may be a bit too sensitive to noise, so the filters would help to get rid of that.
Then the three parameters to tune are:
- the bandpass's cutoffs (you may want to remove low-frequencies and concentrate on the higher-frequency burst, ot keep it full-range).
- the threshold above current steady state-ish level
- the envelope detector's low pass cutoff
Instead of a low pass after the [abs~], you could use a peak detector (see e.g.: https://github.com/giuliomoro/peak-/blob/main/peak~.c) which follows increases in the input signal faster and it only applies smoothing when the input signal is below the past level.
I know it's easier said than done, but I am sure you can achieve something lower-latency than spectral flux.