It always seems like whenever the North Vietnamese Air Force is mentioned during the Vietnam War they seem to fight very defensively, mostly air superiority and interception missions. Is there a reason for this? Did they ever go on offensive missions against U.S. positions?
They did, but very rarely, more or less "count on one hand" number of times during the whole war. There was an incident in 1968 when the NVAF sent Anotonov AN-2 biplanes to attack a US TACAN system in Laos, and the USS Higbee was attacked in 1972. These are very much exceptions though.
The reason why is simply that using their air resources in an offensive manner would:
Not achieve a whole lot.
Be devastating to their defence to to inevitable high losses in any significant mission undertaken.
The United States had a huge advantage in the number of planes, pilots and ability to compensate for losses in their air resources. Against such numbers any attack over South Vietnamese airspace would be liable to suffer great losses. The possible gain from attacking would be small, there were not fleets of bombers to send against Saigon, and a small bombing run resulting in a large loss would mean wasting hard to replace experienced pilots and expensive planes. From a Vietnamese perspective the air war was not one that it was possible to "win", the availability of resources needed was not even remotely within their reach. The purely defensive posture, especially when combined with AA missiles, made a much larger impact than attacking with bombs ever could have achieved.