Keepass has what you're looking for. Free, totally cross platform, no cloud unless you wanna put the database file on cloud storage, and can be very secure.
Context: KeepassXC is the Linux/macOS port of Keepass. Although it is handled by a different team, it isn't significantly different from the Windows app.
It’s also on windows and yes it has more features like totp compared to keepass.
Technically true, but the main focus is being on more platforms than just Windows. From their site:
Why KeePassXC instead of KeePass?
KeePass is a very proven and feature-rich password manager and there is nothing fundamentally wrong with it. However, it is written in C# and therefore requires Microsoft's .NET platform. On systems other than Windows, you can run KeePass using the Mono runtime libraries, but you won't get the native look and feel which you are used to.
KeePassXC, on the other hand, is developed in C++ and runs natively on Linux, macOS and Windows giving you the best-possible platform integration.