Profile missingness only among rows where the field is applicable. Open/N/A rows are not missing resolution data and must not enter the average denominator. The three numeric zeros are valid. Among Closed tickets, the missing rate is 40/800 = 5%; its concentration in Chat is evidence of uneven missingness, but the source-system change is only a causal hypothesis until dates are compared.
Add MissingClass: =IFS([@Status]<>"Closed","Not applicable",ISNUMBER([@ResolutionHours]),"Observed",[@ResolutionHours]="","Missing-required",TRUE,"Invalid-marker"). Build a PivotTable of MissingClass by Channel and by period before/after the system change.
Recommended action: do not mean-fill. Attempt recovery from the source for 40 Missing-required rows; until then, report observed averages with the observed/missing count for each channel. Sensitivity check each channel using at least three bounds: observed-only mean, missing values set to the channel's observed 25th percentile, and set to its 75th percentile. If channel ranking changes, state that the comparison is not robust. Reconcile 800 Closed = Observed + Missing-required + Invalid-marker.