array_diff
проверяет только значения.
Поскольку ваш второй массив содержит ["status_intermediar"]=> string(1) "2"
, он находит значение, поэтому не видит его как разницу
Если вы хотите проверить и ключи, и значения, вы должны использовать array_diff_assoc
Кроме того, если вы хотите найти все различные значения из обоих массивов, вы должны запустить его дважды
$difference1=array_diff_assoc($array1,$array2);
$difference2=array_diff_assoc($array2,$array1);