How are you doing the data migration? I just worked on a bigger data migration where this was not needed and everything stayed as it was on the old system. We did a complete database migration from one system to the other. But this is only an option if your new system does not already contain production data.
If this is not possible, you could use the database connector module to create SQL commands from a microflow. With this you should be able to reset your CreatedDate.
You could create an additional DateTime attribute to save the information you want. So you don’t need to touch system data which propably has a good reason why it is read only.