Driving a proportional solenoid from PWM via NPN/MOSFET
Ditch R1. Yes, 0.001\$\Omega\$ resistors exist, but what would you do with it? At 2A it will drop 2mV. The collector current is defined by the base current, there's no need to limit it this way (if that would have been the purpose).  

You don't necessarily need a MOSFET to switch 2A, but if you use a BJT it will probably have to be a Darlington. OTOH a MOSFET is much faster than a BJT, so better suited for PWM work.  

Then the flyback diode. It's wrong polarized, but you mention that in the question, so I won't say anything about that. 

If the solenoid is a 24V/2A type its resistance will be 12\$\Omega\$, not 5.6.  

I missed the line that says you'll be driving it from a microcontroller. The following assumes you drive it from 24V, like in the schematic. Later I'll make a note about the microcontroller.  

Then R2. Assuming a solenoid of 12\$\Omega\$, and an \$H_{FE}\$ for your Darlington of 100, then from the base this will look as a 1200\$\Omega\$ resistance. You'll need 20mA of base current. With a voltage of 22V (24V minus a couple BE junctions) that would mean you should have maximum 1100\$\Omega\$ for R2 + \$H_{FE}\$ \$\times\$R3. So even without R2 you won't get the 2A. You'll need a transistor with a higher \$H_{FE}\$.
But even then R2 won't be necessary. With an \$H_{FE}\$ of 1000, if the base current would be higher than 2mA the transistor will saturate and the solenoid will limit the collector current to 2A.  

Important notice on the common collector configuration you're using. Even if you would drive it from 24V the emitter voltage won't be 24V, but 22V. The base voltage will be 24V maximum, and if it would drive the emitter higher than 24V minus 2 BE junctions there wouldn't be no current anymore.
If you drive it from a 5V microcontroller the emitter voltage won't go higher than 3V! Again, if it would be higher there wouldn't flow any base current. You might use a common collector with a 24V input, but not with 5V.  

Usually you'll use a common emitter configuration, where the solenoid comes at the place of R1. In that case you'll need R2. If your microcontroller runs at 5V and you're using the KSD1222 (see below), you'll have a voltage drop of 5V - 2V = 3V across R2. You'll need at least 2mA, but let's play safe and give it 10mA. Then R2 should be maximum 3V/10mA = 300\$\Omega\$.



If you want to use a MOSFET the Si2318DS is suitable. It's a 40V FET which can drive 3A at less than 4V \$V_{GS}\$. \$R_{DS(ON)}\$ is 45m\$\Omega\$, so at 2A it will only dissipate 180mW. That sounds safe, but when you're going to PWM this will rise due to switching losses. At 300Hz this will not really be a problem, however.

If you would want to use the Darlington, the KSD1222 is also a 40V type, with \$H_{FE}\$ of minimum 1000. Can drive 3A. But here saturation voltage can be as high as 1.5V. At 2A this means the transistor will dissipate 3W, so you'll need a heatsink. The MOSFET is the better solution.