Thanks very much for the comments. So it appears there's no guarantee that my three example chips are typical. However, I wonder if I can take some comfort in Figure 2.6 from the MCP6041 datasheet shown in the first picture below. To me it suggests that when the common mode voltage is near Vcc, as opposed to near Vss, there's a pretty strong positive offset voltage, which is what I want. In my circuit the non-inverting input is always directly connected to Vcc, and the lowest Vcc will get is the voltage at which the battery low-voltage protection is triggered, so no lower than about 2.5V if the battery is completely discharged overnight.
Also, if any battery current is flowing through the mosfet, RDSon is going to cause some voltage drop, and that will help keep the opamp output low, and the mosfet fully on. That will be less reliable if current is very low (MCU sleeping), but in that case it probably doesn't matter much if the mosfet is only partially on. And I've tested this circuit over several days in sunlight, and can't detect any tendency to oscillate.
I need to do more testing, but I feel pretty comfortable using this opamp without adding positive feedback. However, the second picture below shows the same graph for the otherwise similar MCP6141. It presents the opposite picture, with strong negative offset voltage at CMV = Vcc. And the same is true of the TLV2401. So it seems I need to order these other parts and see how well or poorly they behave. (The TLV provides a higher Vcc. With the MCP parts I'm limited to using 5V panels.)
I would just like to avoid adding two resistors to the circuit to enable positive feedback. This circuit is in response to one proposed by Andreas Spiess that doesn't actually work in partial illumination. Mine works, but is already more complicated than his, so I'd like to avoid the resistors, and the current that would flow through them, if possible.