1) Эта строка:
c = a+++b;
выполняется как
c = a++ + b;
Т.е. здесь не преинкремент, а постинкремент, поэтому в результате получается 7
2) Потому что когда вы делаете инкремент строковой переменной, она преобразуется в число. И затем число суммируется с числом.
3) Оператор ++ неявно выполняет присваивание и не может перезаписать константу. То же самое будет для численных значений:
5++ // Uncaught ReferenceError: Invalid left-hand side expression in postfix operation