Noise on PWM before connecting to buck circuit
The return path of the converter gets "dirty" while the converter is operating, because of switching high currents and presence of inductors, leakage inductances, parasitic capacitances etc.. And you are carrying those dirt into Arduino's signal path via shorting GND lines of both.

The first thing I can recommend is putting a snubber across Q1 so that the dirt caused by ringing can be wasted. You have an oscilloscope, so calculating the values of snubber is your job. And remember, Google is your friend. 

And the last thing I can recommend is putting a ferrite filter between signal ground (ie Arduino's GND) and power ground (ie converter's GND) so that they are shorted in terms of DC and isolated in terms of AC. You can also put the same filter between Arduino's PWM output and converter's PWM input. 

About the filters: You can find 1206 case SMD ones having 500mA current rating. Search on Würth's website.