OK, we can confirm Q2A's cache is irrelevant, from the images. However, it makes sense, as the images are not really using what you configure in admin/caching (I actually thought they were).
1. How many records does the ^cache table have?
2. Edit file qa-include/qa-image.php and comment these lines:
$content = qa_db_cache_get($cachetype, $blobid);
... and also ...
if (array_search($size, $cachesizes))
qa_db_cache_set($cachetype, $blobid, $content);
Once you have done this run the tests with cloudflare and QA cache disabled (in order to keep tests as similar as possible).
When running the tests, make sure to check the "Disable cache" checkbox in the Network tab of the Chrome inspector
3. Have you changed the default value of QA_DB_MAX_CACHE_AGE (which is 86400)?
4. If you try to access the URL of a single file, for example, the URL with the blobid 7639... at the bottom of the last image, how much does it take? Make sure it is the same URL (exactly, with the same size). Make 2 tests here: test with the original code and also with the change I suggested in item 2.