Typically I've only seen that issue when using Rocket loader in Cloudflare.
IPS does not set a cache control header on the file, so Cloudfront does not cache it. Cloudfront is literally checking ONLY the headers to determine cachability. Cloudflare is different in that it try to intelligently determine what is catchable.
With that being said... I don't think cache status is your problem. It appearing only on a reload is not a cache issue.
Per CF's docs:
I would try checking to see if you have Rocket loader enabled and if so, disable it. My guess is that is your problem and why a reload fixes your problem because other objects are loaded into the browser cache and therefore are not impacted by Rocket Loader on the subsequent reload of the page.
Once disabled, flush cache in CF, dump your browser cache, and try again.
By the way... not sure I understand why you posted your question in this year old thread that does not seem to be related?