I think I would delete word rather than replace.
Something like this
Sub fix_Title()
Dim osld As Slide
Dim rayText() As String
Dim titleText As TextRange
Dim L As Long
rayText = Split("Total,Who,What,Where,TTD", ",")
For Each osld In ActivePresentation.Slides
If osld.Shapes.HasTitle Then
For L = 0 To 4
Set titleText = osld.Shapes.Title.TextFrame.TextRange
If InStr(UCase(titleText), UCase(rayText(L))) > 0 Then
Set titleText = Deleter(titleText, rayText(L))
End If
Next L
End If
Next
End Sub
Function Deleter(otr As TextRange, strword As String) As TextRange
Dim L As Long
For L = otr.Words.Count To 1 Step -1
If Trim(UCase(otr.Words(L))) = UCase(strword) Then otr.Words(L).Delete
Next L
End Function