Problem with bpy.ops.sculpt.brush_stroke Bear with me, this is complicated to describe.

I am writing an add-on for Belnder which involves using bpy.ops.sculpt.brush_stroke in Sculpt Mode to essentially stroke the brush around a model in a circle.

I am experiencing a problem with this which I am almost certain is a bug in Blender. Before I write it off as a bug, however, I wanted to check if anyone can explain this.

The issue is that, when bpy.ops.sculpt.brush_stroke is operating at coordinates that are directly behind the object based on the 3D view from which the stroke was initiated, the effect of the brush is distorted.

It is almost as though Blender is screwing up the calculation of area plane for the back facing part of the model, or possibly for the coordinates right where the faces transition from front facing to back facing.

What makes me suspect this is a bug is that the results change whenever I rotate the viewport. It is always the back of the model (from the viewport POV) that is screwed up.

As far as I know, none of my sculpt settings should depend on the position from which the model is viewed in the 3D viewport (I am using a brush set to Area Plane), so I believe this is a bug in Blender, and it is somehow factoring in the view to the calculation when it shouldn't be.

Can anyone suggest any other possibilities for this?

In the screenshots - the Red arrow on the left indicates the viewplane from the 3D viewport on the right. This rotation of the view in the right 3D viewport is the only thing that has changed. The protrusion should be uniform all the way around, it isn't.
I am unfamiliar with this function in Blender. But suggest possibilities I can! :)

You say, "As far as I know, none of my sculpt settings should depend on the position from which the model is viewed in the 3D viewport (I am using a brush set to Area Plane)" 

That may be, except for one point: the last place that was clicked. Why else have a parameter named "ignore_background_click"??? When you changed viewports, maybe you changed the last place that was clicked? If not, maybe it changes the relative position of that click (if not the absolute position)??

Have you tried setting that parameter to True? In other words you do want to ignore that click position… That's the way I take that parameter name and limited documentation here: 
https://docs.blender.org/api/2.79/bpy.ops.sculpt.html?highlight=bpy%20ops%20sculpt%20brush_stroke#bpy.ops.sculpt.brush_stroke

I expect that you have tried that, so the other possibility is that you could programmatically set that click position (and pass False, as you are).

Why, the possibilities are rampant! :D