ssh-copy-id when invoked without -i will default to the most recently created identity file while ssh defaults to ~/.ssh/id_dsa, ~/.ssh id_ecdsa, ~/.ssh/id_ed25519 and ~/.ssh/id_rsa. The expected behavior is that ssh-copy-id uses the same identity file that ssh would use so that a successful ssh-copy-id allows pubkey authentification without further configuration.
Sorry for ignoring this bug for so long. The current behaviour is useful, since one can, for example, create a .pub file containing the several keys you want installed, some from other machines such that the private keys are not available, and have them all be added despite it not being something that ssh would be able to use becuase it does not have matching private key files. Of course, now that ssh-copy-id attempts to login to test if keys are already installed, one now needs to specify -f to make it work with such a combined id file. Since you find this unhelpful, you just need to follow the advice in the man page: touch the file for the key that you want installed, and it will be chosen as the most recent. HTH Cheers, Phil.
close bugs that were resolved in OpenSSH 8.5 release cycle