<Описание вашей идеи>
Если ::std::filesystem::path::value_type не равен ::std::string, то не надо догадываться какая кодировка лежит в данной строке. Лучше просто удалить такой конструктор.
<Примеры, где ваша идея будет полезна. Чем больше примеров и чем большую аудиторию они охватывают - тем лучше>
Практически всегда (если не всегда), когда в ::std::string лежит не системная многобайтная кодировка, то такой конструктор может привести к невалидному пути (если в строке есть символы выходящик за Latin1 диапазон).