Is there a way to get it setup before the DNS is moved?
Long story short, no there is not a way to do this because you cannot generate a key pair for an IP address.
I have the site there and working but the DNS is not yet moved.
I assume you mean that you have migrated the content of your site from DreamHost to AWS, but have not yet moved your DNS records.
DreamHost has a client plugin you can activate that will generate a Let’s Encrypt certificate for your site for the remaining duration that you’re on DreamHost.
As for taking that exact same cert to AWS, you should install your own client and generate a new key pair. That should all be possible once you’ve successfully migrated the DNS records to AWS.