If there is same contact with multiple dynamic contents, and we are updating the contact property via API, and the workflow is triggered when that custom contact property is updated, and the contact is in queue for the same workflow, would not that property be updated before the previous email is sent?
For multiple workflows it will not be a big problem. The problem is that the contact property I am using will updated with the new value and the previous value will be lost.
Any personalization tokens in emails get set based on the properties of the contact at the time the email is sent, not at the time the workflow is started, so if you have a contact in multiple workflows that are modifying the same property and sending emails, they could interfere with each other. If you have one workflow that should take priority, you can have one of the workflows remove the contact from other workflows: