Overriding Context for bpy.ops.transform.shrink_fatten
@batFINGER's comment is helpful: you (probably) can't override context for edit mode. I ended up just replacing the shrink_fatten operator with the equivalent function, per this:

def execute(self, context):

    ob = bpy.context.object
    me = ob.data
    bm = bmesh.from_edit_mesh(me)

    for v in bm.verts:
        if v.select:
            v.co += v.normal * self.factor

    bmesh.update_edit_mesh(me, True, False)
    return {'FINISHED'}


which was an order of magnitude easier and could be, in general, potentially the best way to replace relatively simple edit operations instead of overriding their context.