Load Customer Primary Contact
I’m pretty sure it should do this without a workflow.
But if it is not, can you create a task workflow that runs on create, before record load, only on create.
Then a set field value action that runs on before record load, on create.
Choose the contact field to update, update it from the company -> contact field.
I think that should work.