Ответ
При singleTop новая Activity не создается, если она уже на вершине стека. При нажатии "назад" поведение стандартное - текущая Activity уничтожается, возвращаемся к предыдущей в стеке.
Пример:
val intent = Intent(this, MyActivity::class.java)
intent.flags = Intent.FLAG_ACTIVITY_SINGLE_TOP
startActivity(intent)
Если MyActivity уже активна, будет вызван onNewIntent() вместо onCreate(). При нажатии назад - просто закроется текущая Activity.
Важно: singleTop не влияет на поведение кнопки "назад", только на создание новых экземпляров Activity.