В описании метода index(of: )
Discussion
Attempting to remove more elements than exist in the collection triggers a runtime error.
Calling this method may invalidate all saved indices of this collection. Do not rely on a previously stored index value after altering a collection with any operation that can change its length.
А как этого избежать? Используя эти методы, никак. Используйте скажем filter:
import Foundation
var data = Data([0, 1, 2, 3, 4, 5])
var newData = data.filter{$0 < 5}
print(newData.index(of: 5) ?? "Ooops") // Ooops
Вообще избегайте всех метод, которые уменьшают длину массива в Data.