Hi,
Yes. The problem is that there is no mechanism in Joomla's API to communicate the canonical URL. That's why HikaShop has to add it. Even worst, the SEF system plugin can be configured to add the current URL of a page as canonical URL on all the pages of the website, which defeat the purpose of "canonical URLs" which has to be unique for different pages with the same content.
Similarly, I don't see why the template would add the canonical URL tag itself to all the pages as being the current page. But maybe they have a good reason for this ?
Anyways, it's great that the problem is solved for you.