Hi there,
Cache/Optimization plugins apply many actions aside from caching the code.
They combine similar files like CSS and JS. In doing so they can mess the order the code needs to be executed in.
They minimise code which removes spacing and comments from said files. This can cause some plugins codes to break. And a broken JS file can lead to subsequent files not loading. This also applies to CSS.
They may be doing something with the images, such as Lazyloading which changes the img markup and requests initially a placeholder image followed by a file that may be being served from elsewhere.
All in All the issue lies with how the cache/optimizer is configured.
To troubleshoot re-enable your cache/optimization plugin with all of its options de-activated.
Then its a case of re-activating each option one by one to see which one is causing the issue.
I would begin with the combine / minimise / aggregate options as they are most likely to ‘mess’ something up.