PWM duty cycle RPM regulation via sensing DC motor current
As @JackCreasey pointed out, current sensor by itself will not give you correct RPM, since current depends on a load.

From your comment you don't have an access to motor shaft and cannot put encoder on it. But any motor is supposed to drive something. If you have an access to that you can measure RPM there.


For example inductive proximity sensor can be used with metal gear or turbine.
Hall effect sensors can be used with ferrous rotating parts or with plastic parts if you can embed tiny magnet into them.
Infrared or laser diodes can be used practically with anything. Usually you need two surfaces with different reflection (e.g. by sticking reflective tape somewhere), but with careful arrangement of focal points and sensitivity it can be done without it. Another configuration is to have direct light path interrupted by rotating part.
Finally you might be able to put an encoder on the rotating part. If you have gearbox and the rotation speed is much slower than motor shaft it just means you need encoder with more PPR.


If nothing of the above works for you, there might be a way to use either current or voltage sensor after all, although not by measuring RMS, but by measuring and filtering fluctuations.

You've mentioned that you are worried about condition when PMOS is turned off. But that is exactly when back-EMF kicks in and can be measured to detect the commutation of the brushes.

See here and here for examples and theory.

Update: Found couple more examples for you. These do not count commutational fluctuations but simply measure back-EMF during FET off time: AB-021, AN893