Contacts are associated with email accounts. If you have more than one email account you have more than one source for contacts. If you haven’t enabled all of the email accounts and their associated contacts on the new phone you won’t have all of your contacts. While it is possible to have “local” contacts on the phone that are not associated with any email account this is rare. And if you do have any only these will be saved in a backup.
So first, on the old phone go to Settings/Passwords & Accounts and tap on each account, and see if Contacts is enabled. Do the same on the new phone and verify that they match.
Then open the Contacts app and tap on Groups in the upper left corner, and verify that all groups are checked.