The linked guide is not downloading the extension every time, it’s checking in caching qube (e.g. sys-whonix) whatever the extension already downloaded and whatever it’s the latest version and only downloading the extension if needed:
url = 'https://addons.mozilla.org/api/v5/addons/addon/ublock-origin/versions/?page_size=1'
response = requests.get(url, proxies=proxies)
addon_latest_json = response.json()['results'][0]
if not os.path.exists(addon_dest_file) or sha256sum(addon_dest_file) != addon_latest_json['file']['hash'].split(':')[1]:
download_file(addon_latest_json['file']['url'], proxies, addon_dest_file)