As you already mentioned ATS can only interact with the browser. This means that if there is no GUI verification that the download is successful, ATS cannot test it. However, there might be a workaround depending on which Selenium solution you use. For the workaround to work you must know the file name upfront, have the possibility to upload a file in your application (to upload the downloaded file) and it depends on your chosen selenium solution.
ATS does enable users to upload files into their app using the "Set File Manager" action. You give the file path of the specific file and ATS uploads it.
ATS can only upload files which it has access to, this depends on your selenium solution. For more information: How To Upload a File in Your App Using ATS.
So for example, when you use Browserstack and you download a file from your application you can access that same file from the same session (Browserstack deletes your data after the test run). This only works when you know the file name upfront. The download paths in Browserstack depend on your OS version:
C:\Documents and Settings\hello\Downloads
Win 7 / 8 / 8.1 / 10:
You can append the file name to the above path and later use it in the same test to upload the file. This would also work if you have your own selenium solution.
I hope this helps!
With kind regards,