Самый простой способ - перенести вызов setIsDeleted из finally в catch.
Понимаю, что это как-то связано с преждевременным размонтированием компонента перед завершением api запроса.
Не связано. Запрос успешно завершается, удаляется элемент данных, соответствующий ему экземпляр компонента тоже долой - и уже после этого вы пытаетесь обновить состояние экземпляра компонента. А зачем? Не всё ли равно, как он будет выглядеть, если его уже нет?