OP says "I've tried BitWarden and Enpass, but their integration is worse and they suffer from some of the same problems as 1Password (subscription/server-based, not really in control of own data, etc.)" but I don't think this is accurate.
Enpass offers a lifetime license and is local-first with syncing via your choice of cloud service. (Enpass also supports wifi-only sync, too. No cloud required.)
From what I can tell, the primary players in the local-first vault space are legacy 1Password, the pass ecosystem, KeePass[.*], and Enpass.
1Password is aggressively abandoning this market to pursue rent-seeking, and using shady practices to nudge their former customers that way.
KeePass and pass are similar: more ecosystems than products, their password file implementations are documented and there's a broad ecosystem. I didn't find any of the options compelling though.
-- For pass in particular, I'm not an Alfred user, so the macOS integrations don't make a lot of sense to me, though I might play with it at some point later. The Firefox extension seems pretty minimal but maybe worthwhile. All in all the ecosystem seems promising but immature.
-- For KeePass, Strongbox had the smoothest consistency on macOS/iOS, but doesn't support KeePassHTTP, so can't be used with any of the desktop browser extensions, and on iOS KeePassium is a lot faster / doesn't fight me. I ended up trying MacPass (→ KeePassHTTP Connector) and KeePassium. This worked okay, but MacPass was finicky about running in the background, and always forgot where my keyfile was every time it started up. I would revisit KeePass if there were a good full-blown desktop client on every major OS (even if it were Electron) and browser integrations that weren't reliant on using http for IPC.
Enpass is a proprietary solution but built on open standards. They haven't published a full spec of their password database, but they published a lot of information about their use of SQLCipher and what encryption, how they do key derivation, and initialization vectors, so that the format was pretty quickly worked out from there. I would prefer if they made it an open standard like KeePass, but they are helpful rather than hostile to community reverse engineering, so that'll work. The app works great, better UI than 1Password (more organized if slightly less flashy), and the browser extension handles password changes better than anything I've ever seen (though it still confuses some things). I spent a couple hours yesterday reviewing all my weak/old/compromised passwords and changing them. Enpass made this drastically easier than any other tool I've used. The OTP support also seemed to work better than with 1Password, and I've been able to cut back on the number of annoying text message confirmations I get. I pretty quickly sprang for the paid version of Enpass and I think this is where I'm gonna stay for a while — and what I'm going to recommend to others.