First of all, having your domain model being different from your persistence data is normal. If you take the traditional hexagonal schema, you can see that persistence is reached through an "adapter".
Then, picking in between your options. I believe the mapping in between both should be within a (persistence-oriented) repository, rather than a factory. In turn, that repository can call Automapper or use any other mechanism. What is really important in the end is that built aggregates have their invariants respected (all required fields are filled in...). From that point of point, I don't quite see the difference between the 2 approaches.
In a nutshell: you should be concerned about the quality of your domain model, not about the technical mean to build it. The domain layer is more important that the infrastructure layer.