Stress and strain are computed at the finite-element quadrature points. When you use CellFilterAvg on the field, it averages the values over the quadrature points to give values at one location per cell (centroid). This is the normal procedure for values computed at quadrature points because nearly all visualization tools only understand output that one location per cell.
To get stress and strain at the ground surface in PyLith v2.x, the best you can do is to get the stress and strain at all of the quadrature points in a cell and use the value closest to a target point. Unfortunately, we have not implemented output of the coordinates of the quadrature points. Thus, in practice your best bet is to get the stress and strain at the centroid of the cell closest to the target point.