Well I have been through and through all of the URLs stored in the GUID portion of the posts table. They are all updated for the images which still have an issue.
I have also installed and activated the plugin you suggested and added the constant to wp-config.
I am not seeing any affect from this plugin being installed, activated and the addition of the constant.
I have also tried to add in some var_dumps to the homepage to dump the URLs of the wp_get_attachment_url function but those are not displaying either. Like I have been saying this looks more like a caching issue then a URL stored in the DB issue.
When viewing the homepage almost all of the images display, a couple are missing from the bottom of the page, but about half of them are pulling the images from S3 the other half are pulling from the local server using the IP Address of the server.
Here is a link to the homepage if you can have a look and see what I am talking about.