Hi,
If you want to achieve such short URLs for both categories and products, yes, you need a SEF plugin which handle SEF aliases like does sh404SEF.
You can achieve URLs like
domain.com/product_name1
However, this requires that the home page menu item of your website is a category or products listing menu item, and it requires the "product SEF name" to be empty, which will lead to the category SEF name not being empty.
That's because HikaShop's router has no caching.
It has to analyse the URL elements to be able to route the request to the correct controller.
SEF plugins which allow you to use whatever URL you want don't work like that. They need to store the correspondance between the URL that is dynamically generated and the URL that you want so that when the router of the SEF plugin has to do the conversion on the other way, it can look up into that cache.
While this gives a lot of flexibility, this also create issues because when the URL displayed has been removed from the cache (because the cache was purged for x reasons), you end up with invalid URLs and the cache has to be rebuilt.
And usually, such SEF caching mechanism is implemented at the website level and thus is outside the scope of what an extension routing system is supposed to handle and why you can't have whatever URL you want for whatever page of your website (with HikaShop, but with basically any other extension) unless you use such SEF extension.