Given the requirements of self hosting, ill just stick with keepass. The desktop and mobile clients are great and I can host them on my nextcloud and grab them over WebDAV.
I use BitWarden but Keepass2Android is the best mobile client of any platform, by far.
You can self host Bitwarden or use the cloud version
I should've been more clear. I don't host the clients; rather, I host the databases. That's why I prefer keepass - it's just an encrypted db which is lightweight and the clients tend to be lightweight as well.