Переопределять и в Питоне можно. А мы про ситуацию из коробочки.
В случае со строками в JS всё более-менее логично: со строкой может конкатенировать только строка, потому следующие после строки операнды и приводятся к строке.
А что там до — это уже порядок исполнения.
Каковой порядок и для приведения есть.