My approach is a bit more complicated than of many commenters here: I use both Keepass and Bitwarden.
Bitawarden is for most of the passwords, and I use it to share some passwords with family.
Keepass is for the most sensitive stuff - online banking and emails. Also, I use it for non-web apps. Keepass DB is synced with Syncthing between desktop and mobile.
TOTP is handled by Aegis android app. I was thinking to move it to Keepass, but I really like interface of a dedicated app. And it's data automatically backed up to Nextcloud
I also use KeePass and Aegis, and I love them both. I also considered using KeePass for TOTP but I think it makes more sense security-wise to use a separate app.