You are correct that you can open carry at 18 in Virginia. The code doesn't expressly say that you can, but it says that no one under 18 (with a few minor exceptions) can possess or transport a handgun. If you sort of read it backwards, anyone 18 and over and not otherwise prohibited can possess and transport (carry) a handgun in Virginia.
Here is the most applicable code:
§ 18.2-308.7. Possession or transportation of certain firearms by persons under the age of 18; penalty.
It shall be unlawful for any person under 18 years of age to knowingly and intentionally possess or transport a handgun or assault firearm anywhere in the Commonwealth. For the purposes of this section, "handgun" means any pistol or revolver or other firearm originally designed, made and intended to fire single or multiple projectiles by means of an explosion of a combustible material from one or more barrels when held in one hand and "assault firearm" means any (i) semi-automatic centerfire rifle or pistol which expels single or multiple projectiles by action of an explosion of a combustible material and is equipped at the time of the offense with a magazine which will hold more than 20 rounds of ammunition or designed by the manufacturer to accommodate a silencer or equipped with a folding stock or (ii) shotgun with a magazine which will hold more than seven rounds of the longest ammunition for which it is chambered. A violation of this section shall be a Class 1 misdemeanor.
Follow the link to read the exceptions to this particular code and to read up on the rest of Virginia's gun laws.