Well, I got good news. The download is working.
I used the clientside_callback to make the execution of the JS script in the browser in order to open the URL. The problem were the files itselves. When calling the clientside_callback, that app method doesn’t work with a decorator, and Dash doesn’t recognizes it unless is defined at its reach. And that method wasn’t defined in the main file were the app instance was, but in a home_callback.py file.
Instead of wondering around on how I could make the call from the main, I simply decided to write the clientside_callback in the same file as the app instance. With that, it exists in the same space as the app instance and, when the button is clicked and the html.P component changes, the callback is trigered.
Note: I had to delete the if from the JS function. For some reason, it didn’t work.