You can set up your own MySQL instance with an encrypted database where you keep all passwords and joined information. Using any programming language you can either set up an app with a GUI yourself where you query your passwords or use queries directly in MySQL. I understand when you ask now for what all that hassle, but at least you have a bit more control of your data and there is not a potential company behind or a code fragment which may inform the company about any actions. BTW, you may learn some coding, so it can be fun too.
Bitwarden doesn't have access to your data. This isn't an issue. This is just jingoism because the best way to fight an absurd nationalist asshole is more nationalism
In essence keepass is an open database format and a bunch of different software tools have been written to interact with it. You can quite happily share the same keepass database between different software, e.g. synced between desktop and mobile
The only good one I've found is called strongbox.
Free version works fine, but the pro version prices are insanity for something that is free everywhere else. I could get behind a lifetime buy of $10, but for $99 hell no. (Monthly sub is $3 or $25/year).
Looking at the app store now, most of the keepass apps have some form of in app purchace.
Only truly free one is call keepass touch, but frankly when I tired it, it sucked.
The tldr is if you're on windows, use keepass base. It has every feature anyone would want and plugins for the rest. It's basically perfect.
If you're not on windows, keepass xc is great, but Id think of it as like keepass' most used features, but less customizable and less absurdly complete.
Android has several the one I use is from fdroid and it's offline-only. Several out there have sync systems, but I use syncthing.