The precinct caucuses in the 48th were spread across 8 different sites, with about 20 precincts at each site. The distribution at your site was not necessarily the same as the rest of the district. The distributions certainly were not uniform across all 8 sites.
We announced enough alternates to seat as delegates to fill the vacancies we had at the time. However, by then many of the alternates had probably gone home out of frustration, and were not present to claim their seats. If we had continued to use our (hopelessly inefficient) process to try to seat more alternates, it would have taken even longer, and even more people would have left. At a certain point, we needed to cut our losses.
The preliminary count was based on the number of delegates who had signed in, prior to the seating of any alternates. If those numbers were higher for Sanders than in the final count, it means the Sanders campaign turned out (proportionally) more of its precinct delegates, and so had (proportionally) fewer precinct delegate vacancies to fill with alternates than did Clinton’s campaign. I don’t have a tally of how many vacant seats we filled for each candidate, but at a gut level this math makes sense to me.