This was 100% the mechanic’s fault. He should have pulled the cover, cleaned it, knowing it had 95k miles. The fluid gets heavier and detergents break down over time. That new oil clean up the differential and allows metal to flow splash in new places which destroyed it.
Most people change their engine oil early the first few changes to get rid of break-in metals, I do 500, the 1500, 2500 then 5000. There after every 4-5 thousand. We should do the rear differential at 20k or so for the same reason. Run to failure is what happened here.