Соль нужна для защиты базы данных парольных хешей от группового брутфорса с помощью
радужных таблиц, на случай если её украдут. Ни от чего больше она не защищает. Для целевого случая соль не должна быть секретной, но должна быть случайной.
hash(пришедший хэш + соль из БД для этого пользователя)
Тут вы говорите о соли в БД, это ок.
hash(password+hash(слово))
Тут вы говорите о вычислении парольного хеша на клиенте, называя hash(слово) солью. Это неправильное использование термина. Соль должна быть случайной.
Возможно ли будет взломать пароль с динамической солью которая нигде не хранится?
Зависит от условий взлома. Например, если атакующий увидит хеш идущий от клиента к серверу, он сможет воспользоваться им вообще без необходимости что-то взламывать.