Можно ли в JS задавать имя для named function expression таким же, как и имя переменной?
let inc = x => x+1;
Перейдёт в var inc = function inc(x) {
  return x + 1;
};
Конфликта не будет
Имя функции у named function expression доступно только внутри функции
то есть, даже если вы присвоите внешней переменной с таким же именем другое значение изнутри функции это имя будет указывать на данную функцию, это нужно учитывать!
Никаких других конфликтов не будет, так как var func будет во внешней области видимости, а function func во внутренней