I am in a similar situation and happy with the workspace filter mode.
Not trying to preach, this is what i have:
workspaces = true
filter_mode = "host"
filter_mode_shell_up_key_binding = "workspace"
[search]
filters = [ "workspace", "host", "global" ]
In short, i tend to have a few common workspaces (repositories) that are visible on each host and otherwise have different histories with the workspace filter mode (even with folders that are not part of repositories).