When you have many language or region variations that you choose to mark up with hreflang, then Just about every of these variations ought to have a canonical tag pointing to by itself. The JS redirect looks like a certain amount of a messy circumstance, but to reply your issue: https://www.presta-addons-modules.com/en/opencart-seo-automatic-google-rich-snippets-json-ld-integration-opengraph-twitter-tags-schemaorg.html