Great article! I had a similar set up using zsh and fzf but recently switched to https://atuin.sh/ and can't recommended it enough. It just works and I love the default built in search by current directory vs global.
Search by current directory is the killer feature IMO. Was initially recluctant to use atuin, thinking that fish's history was enough, but now I'm sold.
For me, having history in a structured sqlite database is the killer feature. You can build useful reports ("histogram of run times for all pytest calls from the current directory that exited zero") in a single sql query.
I have sync disabled, though.