If any British citizen is found in Afghanistan or Iraq fighting against British troops, imo they should be shot on the spot.
Doesnt the idea of social contract and rule over a people (or person in this case) by their consent at least give them the right leave the country they disagree with? It is a natural right for a person to be able to chose their own government. This is no exception.

However I'm not arguing that countries should be forced to let their citizens fight against them with a foreign power. This dose not mean however that a Brit, or former brit found fighting in Iraq should be charged for treason unless he is a register member of the army. At that point he should be treated like any P.o.W., locked up until the end of the war.