How Does Obsidian Linux Find System Secret Storage?

I solved the problem by applying a Nix overlay:

final: prev: {
  obsidian = prev.obsidian.overrideAttrs (old: {
    nativeBuildInputs = (old.nativeBuildInputs or [ ]) ++ [ prev.makeWrapper ];
    postFixup = (old.postFixup or "") + ''
      wrapProgram $out/bin/obsidian \
        --add-flags "--password-store=gnome-libsecret"
    '';
  });
}

This seems to be an upstream Electron issue, not Obsidian.