Let's review. @Catfish666 gave you a clear and succinct response that differs from your fuzzy memories of an article you read some time ago on the internet (but you can no longer find it). You want us to either find that article or guess what it said and then justify its contents against what @Catfish666 provided you.
> doesn't that happen just because std::unique_ptr constructor from pointer is marked explicit?
Yes. That is the difference between direct initialization and copy initialization.
To quote:
Implicit conversion is defined in terms of copy-initialization: if an object of type T can be copy-initialized with expression E, then E is implicitly convertible to T.