Переопределить onBackPressed()
в D, как это:
@Override
public void onBackPressed() {
Intent intent = new Intent(this, A.class);
intent.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP|Intent.FLAG_ACTIVITY_SINGLE_TOP);
startActivity(intent);
finish();
}
Это удалит все действия между D и A из стека и вернет к существующему экземпляру A.
ПРИМЕЧАНИЕ: это Java, а не Kotlin, но вы должны быть в состоянии понять, как Kotlinize код; -)