IIRC, that's what the Rust regex engine[1] currently uses

[1] https://github.com/rust-lang/regex

I don't think Rust regex engine relies on this technique. I guess the main point is when you construct the DFA directly you still have the possibility of the exponential explosion of the number of states. That's why modern engines balance between NFA/DFA and lazy DFA.

Though there is an implementation that relies only on Brzozowski derivatives: https://github.com/google/redgrep