If I create a field exclusive to the Contact object in SFDC, will it still sync to Marketo? Or do we need the field set up on the Lead object as well?
Yes it will sync and be made available in Marketo. You do not need to create on the lead object.
Once the field is in Marketo you can populate and update it on all Marketo records, whether they are lead, contacts or not even in SFDC.
Remember that, if the field is on the contact only, when you convert the lead to a contact, the contact field will be empty, and you have a risk to nullify in Marketo on the following sync, so as Erik states, I would rather create on the lead object and map it for conversion. You can always hide the lead field from the UI in SFDC if you want. The exception to this is if the field can only be updated in SFDC, on the contact object.
I would create this on the lead object as a custom field and then map it to the contact object.
Here is a pretty good Salesforce post on how to do the custom mapping: Custom fields mapping from Lead to Contact - Answers - Salesforce Trailblazer Community
Retrieving data ...