For any of the shunt-based solutions, their impedance will increase with the frequency as there is an inductance component in every shunt that creates a zero to the circuit, causing significant sensitivity changes. As shown here, a high end 0.2 mΩ shunt typically has a 3 nH inductance. Switching transients and high frequency noises create large voltages across the shunt, increasing significantly the overall shunt impedance with the frequency. To compensate for the effect of the zero, a filter pole can be added to keep the response flat (see red curve in the graph). The filter has to be put in front of the input stage to protect the system from saturation during high transient switching events. The problem with this filter is that it requires high precision low value capacitors and resistors in order to keep the CMRR high, and provide a good compensation. But these elements can be quite voluminous on the PCB and relatively expensive. To guarantee good accuracy when there are high frequency switching events, it is then very difficult to keep a small and inexpensive solution with shunt-based current sensing. Magnetic current sensors are then preferred because they have a very low internal conductor resistance that does not play a role in the measurement of the current, only the magnetic field does.