Это немного смущает, но я просто решил проблему вскоре после того, как задал этот вопрос, хотя потратил несколько часов на решение.
Вот что я сделал: я последовал https://stackoverflow.com/a/15613852/8963597, Затем я сделал следующее, когда мне нужно изменить содержимое tableView:
tableView.reloadData()
tableView.scrollToRow(at: IndexPath(row: 0, section: 0), at: .top, animated: true)
tableView.flashScrollIndicators()
Надеюсь, это сэкономит некоторые часы для некоторых.