Questions about sensing pulse current and driving a logic MOSFET in a circuit
1) try and keep the opamp that senses the resistor close to that resistor. Tee off all circuit 0 volts from the bottom of that resistor i.e. use star pointing techniques where you can.

2) you can use a lower value resistor with more gain in the second opamp stage of course. Going higher than 3.3 ohms might mean it starts to burn or get too hot. Don't go too low or the input offset voltage errors from the LM358 will start to be significant.

3) if you are only running at a few kHz max then it's unlikely you'll need a specific driver for the mosfet but do check the data sheet and look at the graph for drain current versus DS voltage for various gate levels. This will tell you if your gate drive level is high enough. Specific gate drivers tend to be required in the hundreds of kHz in order to charge and discharge the gate capacitance fast enough.