Images give 404 after changing default domain

You will want to run a find-and-replace script across the database to update all URLs to reflect the new domain. Just because you change the WordPress settings doesn’t mean the content stored in the database has been updated with the new domain! I’ve had good luck with the Velvet Blues Update URLs plugin but you can also do this type of find and replace update using phpMyAdmin or other similar database tools.