There's a difference between mutable data structures and mutable references - see this answer for details.
In this particular case, you're using mutable reference to immutable data structure, which means you can only replace it with completely different one. This would work:
var pair = (99, "Luftballons")
println(pair._1) // Ok
pair = (100, "Luftballons") // OK
As others already pointed out there's a convenience method copy
defined for Tuple
, which allows creating a copy of an object (potentially replacing some fields).
pair = pair.copy(5, "Kittens") // OK