Also, a rewrite might better suite your needs - redirect rules are run before anything else and will bypass all other logic and simply return an http 301 status code to the destination.
For example, with your current rules, a request to '/foo.jpg' will return a 301 to '/', which tells the browser to then try a completely new, separate request to '/'. It will then get what's there without any additional headers as the new request does not end in '.jpg'.
If your glob for the redirect did what I assume you intended from your comment, no file would be served with the additional headers (right now it just applies to any file in the root folder)
What I imagine you are looking to do is a rewrite, where the server will respond to any request that matches with the content specified at the 'destination' - for example, with a rewrite instead, the same request above to '/foo.jpg' would return the contents of foo.jpg if it existed, with the additional headers, and if the file didn't exist it would simply serve the contents of '/' without changing the URL.
The way you would do that is with the rewrite rule in the docs:
"rewrites": [ { "source": "**", "destination": "/index.html"} ]
Hope that helps
Chris