My software-based solution was the equivalent of converting velocity to pitch. I map the per-step velocity to trigger software synth presets, but it's the same idea. Minimal trade-offs for my setup (fixed velocity is not a problem since I can tweak the presets individually), with a wealth of new sounds.
If having a fixed velocity can be compensated for elsewhere in your setup, from the BSP firmware side you could probably implement a toggle between velocity and pitch (assuming you can still send the Note On message at an independent, although fixed, velocity).