In my opinion, popups like in Solasta are easily the best way to handle reactions. While they can slow the game down, I think it's possible to limit this slowdown by speeding up the combat in other areas. For example, one of the suggestions I saw on Reddit was to have pop-ups only show up when they would be able to actually change the result or have an effect (the shield popup only shows up when it would block a hit, protection popup only shows up when it could potentially prevent an ally from being hit, etc.).
On-hit effects like smite would be pretty easy to handle and speed up with this pop-up system. Smite really only has two use-cases: you know you want to unload a smite into an enemy before you make the attack roll so you just wait to see if you hit before declaring a smite, or you're waiting to see if it's a critical hit. In the case of the former, they could just handle them like battlemaster maneuvers, whereas in the latter case they can just add an optional popup on critical hits to smite retroactively. This wouldn't really slow the game down much since you'd only get popups for critical hits (5% of attack rolls).
Another suggestion I saw was to add a QTE system for reactions. This would mean that players would need to "opt-in" to reactions they're interested in rather than having to "opt-out" of each possible reaction proc. This would speed up fights while still giving you full control over reactions. However, I don't really know how they'd time the QTEs so that players with worse physical dexterity and reaction times won't accidentally miss the window.