Его общий стаж – 29 лет. Педагогический стаж - 22 года.
А научно-педагогический стаж - 27 лет.
Описанная картина могла возникнуть так:
1) Человек 2 года работает дворником/сисадмином/курьером/еще-чем-угодно, но с официальным оформлением и записью в трудовой книжке.
2) Затем еще 5 лет человек работает научным сотрудником.
3) Затем еще 22 года человек работает доцентом/ассистентом/преподавателем.
Что касается Ваших подсчетов, то они могут быть и неправильными. П.1 мог быть во время учебы, п.2 частично - тоже (например, неполное высшее позволяло претендовать на ставку старшего лаборанта). П.3, кстати, тоже возможен во время учебы (студент-старшекурсник мог работать учителем в школе), хотя и маловероятен в данном случае.
А вообще лучше спросить его самого.