Import subdomain WordPress into main domain WordPress

Your logic and the steps you plan on following look good to me. This is more or less exactly how I would handle the issue.

However when you import the XML file from sub.example.com into example.com, you’ll want to check the links to the media files within the newly-imported posts. I believe they are still going to be referencing the sub.example.com URL. If that’s the case, you will need to run a database updating script or command to update all instances of sub.example.com to example.com.

I use the Interconnect/IT search and replace script or WP-CLI

So moral of the story – COPY the wp-content/uploads folder over. Don’t DELETE the wp-content/uploads folder from sub.example.com until you can confirm all of your URLs are correct.