I've been meaning to post these photos of a 2" vent that was prone to closing over from frost. Essentially I insulated the exposed 12" of vent. Seems to be working great.
Scrap 3" pipe cut to be flush with top of original:
Spray foam between 2" and 3" pipe (be careful not to overfill!):
Foam backer installed above spray foam (spray foam will deteriorate with sunlight):
There is also a 3" cap (the flat style, not the domed one) that goes over this, to further protect the foam from the elements. Center of the cap is cut out with a 2" hole saw.
If I were to do anything differently, I'd use black ABS pipe instead. Black will warm up more in sunlight, further aiding frost prevention.