Compute sun vector with vertical surface

Are you sure the vector direction for each angle computation is the same? This looks like one of your vectors is being reversed (rotated 180 degrees) for one of the computation methods. That’s why if you subtract the 109.29 angle from 180 you’ll get it to match. i.e 180-109.29 = 70.71.