По факту UITableViewCell(style: .default, reuseIdentifier: "cell2") каждый раз будет тебе возвращать новую ячейку, у которой идентификатор для переиспользования будет равным cell2
Что-то мне подсказывает, что если у таблицы вызывается метод dequeueReusableCell(withIdentifier:for:), то она будет игнорить то, что возвращается в tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell