Current limiting source using opamp
Your circuit isn't drawn very clearly so allow me to clean that up a bit so that we can better see what's going on:







simulate this circuit &ndash; Schematic created using CircuitLab

To learn how to draw more clear schematics, read this question

If the circuit works in the mode where the feedback works then indeed it will control the PMOS such that there will be 300 mV across R4 and then the circuit will limit the current to 3 A. This happens if the Load resistance is small enough (like 3.6 ohms or lower).

If the load has a higher impedance the feedback is not positive as you mention in your question. There is no working feedback in that situation.

What happens instead is that parts of the circuit reach their limit value. For example if the load impedance is 100 ohms as drawn, there can be no more than 120 mA flowing. So across R4 there will be less than 12 mV. The output of the opamp will then be at the lowest value that the opamp can manage and that is the negative supply rail so 0 V (zero Volt). That means that the PMOS has a very large Vgs and will be fully opened so there will be close to 12 V across the load.

There are some traps with this circuit like the inputs of the opamp need to be able to operate at a very low voltage, not all opamps can do that.

Another issue might be stability, when the circuit is in current regulation the loop is not that straightforward as the PMOS, load and R4 are part of the loop.

I tried to reverse the feedback +/- and it still work

Define "still work" because the current regulation cannot work like that also the PMOS will be switched off. What might be the issue is that your setup never really worked properly due the low input voltages which the opamp cannot handle properly.