OnConfigurationChanged вызывается только в том случае, если вы указываете это через android: configChanges = "direction | screenSize" в своем манифесте. У вас есть этот набор? В противном случае ваша активность не вызывается из-за ориентации, она фактически уничтожается и перезапускается.
Альтернативой может быть использование отдельных макетов для пейзажа и портрета. Они могут указывать разные настройки, но тогда вам нужно сохранить 2 файла.
Можно установить значение в вашем одиночном макете равным @ string / keyboardAction и определить его в файле strings.xml, а затем создать альбомный файл strings.xml для его переопределения. Это должно сработать, но я никогда не пытался сделать это со строкой imeOptions, поэтому я не могу полностью пообещать это. Но это будет самый чистый из двух способов, если он сработает.
Edit:
Просто перечитайте - это когда клавиатура уже присутствует, работает ли она, если она была открыта после поворота? Это действительно имеет смысл - теперь мы углубляемся в API клавиатуры. То, что фактически заставляет клавиатуру перезагрузить это поле, будет различным в разных клавиатурах, поэтому точный ответ затруднен. Вещь, которая наверняка сделает это, будет вызвана, если onStartInputView вызывается с новым сеансом (второй параметр true) при ротации. Если он вызывается с false, он может или не может сбросить метку, но это следует. Я не верю, что это называется вообще на ротации.
В любом случае попробуйте вызвать inputMethodManager.restartInput при ротации. Это функция, которую EditText вызывает при изменении inputType, приложение клавиатуры должно затем повторно инициализировать представления.