Your recurrence is a bit off. What your recurrence (and the link you posted) describes is the case where you can check that the two subarrays you're supposed to merge are already properly ordered, in which case you do get O(N) since the merge step is constant time (you don't do anything).
The correct mergesort recurrence is:
T(N) = 2 * T(N / 2) + N
where the last N factor comes from the merge step which is linear time.
Try with this recurrence. You should get O(N logN) from the extra merge step.