Hi,
When you set 'Force canonical URLs on listings' to 'Use canonical URL and generate it if missing', HikaShop will automatically fill the canonical URL for both products and categories.
However, it will only fill them when it has to generate the URL to go to the category / product.
So for products, it will fill it when you display on the frontend a listing of products with that product in it.
And similarily, it will fill it for a category when you display on the frontend a listing of categories with that category in it.
Since you're saying that the canonical URL of categories are not filled even though you have that option activated and it works for products, it means that you don't have a listing of categories on your frontend.
And I checked your frontend and it confirms this theory. I can see that you've created one menu item for each category and that you have modules to display a listing of these menu items, but not directly a listing of categories displayed by HikaShop like here:
demo.hikashop.com/index.php/en/hikashop/...g/display-in-div-div