Stop guessing and ask the client what it is doing. This one command answers it almost every time:
ssh -vT git@your-host
Read the output for two things.
Which keys it offered. You will see lines like Offering public key: /home/you/.ssh/id_ed25519. If the key you registered is not in that list, the server never saw it — the problem is local, not on the server. That is the single most common cause and people spend hours on the account page instead.
What the server said. A successful attempt ends with a message naming your account. If it offers keys and gets refused, the key it offered is not the one registered.
The reason the right key often is not offered: the client tries a small set of default filenames and then gives up. A key named anything else is invisible unless you tell it, and the fix is a config entry rather than a new key.