Keepass just uses a (local) file, but it expects and can handle if the file is modified externally. That's important because it means you can store it on a network share, or in some sort of synchronized storage, self hosted or not (next cloud, sync thing, Google drive, whatever). It's just up to you. If you have it open on your PC and you add an entry on your phone, your PC won't "overwrite" it, but integrates any changes you're making there at the same time.
For example the android client has direct support for a long list on storage services for this exact reason.
ZFS, specifically RaidZx, can be expanded like and raid 5/6 these days, assuming support from the distro (works with TrueNAS for example). The patches for this have been merged years ago now. Expanding any other array (like a striped mirror) is even simpler and is done by adding VDevs.