I can't tell you exactly what the issue is, but let me lay out a few things that will hopefully let you find it.
Literally what this error means is that the database is looking in a particular directory for your file and can't find it. The fix is to change your configuration to point to the right place. Below are examples from my working config. You can change them to whatever you need, but this is how the database knows where to look.
In my working config, I have a line like this:
dbms.directories.certificates=/var/lib/neo4j/certificates
that tells the DB to look in that directory for certificates. Separately, you might have a line like this:
dbms.ssl.policy.default.base_directory=/var/lib/neo4j/certificates
This is tricky -- this is actually claiming that there is a policy called "default" and that all of the certs for the "default" policy live in that directory.
dbms.ssl.policy.default.private_key=/var/lib/neo4j/certificates/neo4j.key dbms.ssl.policy.default.public_certificate=/var/lib/neo4j/certificates/neo4j.cert
That's specifying exactly where the private key for the "default" policy is, and the public cert.
Finally:
bolt.ssl_policy=default
This means that bolt ssl should use the "default" policy. That is, the policy named default which were defined in those other parameters and not some built-into the database default. If you had named it "foo" above instead of default all the same would apply.