Are Python/MATLAB/Mathematica numerical eigenvectors affected by eigenvalue degeneracies outside region of calculation?
At a glance I too would expect this problem to be pretty well behaved, because Hermitian eigendecomposition itself is pretty well behaved (real eigenvalues, orthogonal eigenvectors). One place where things might go wrong, is calling a routine/algorithm that is unaware of the Hermitian-ness of your input. In LAPACK, the routine you'd probably want is ZHEEV, which does offer guarantees you'd expect on a Hermitian eigendecomposition: orthogonal eigenvectors, real eigenvalues, even sorted for you. You can contrast this with ZGEEV, which can in principle compute the eigendecomposition just as well, but doesn't exploit the structure and doesn't offer the guarantees.
ZHEEV documentation.
ZGEEV documentation.
To clarify, the guarantees are from the problem properties, not the algorithm .. so if you accidentally use ZGEEV instead of ZHEEV, your eigenvectors will still be orthogonal but probably not to the same precision, your eigenvalues will be real but probably with some small/roundoff-level imaginary part, etc. They certainly won't be sorted because ZGEEV has no business trying to apply a sort to eigenvalues that it presumes to be complex. It's also entirely possible that the two algorithms have different sensitivity to degeneracy, because they are just using different transformations under the hood.
The sorting bit seems particularly noteworthy, as I expect you'd need some kind of "tracking"/continuity of the eigenpairs as you vary the t-parameter, otherwise you might inadvertently compute dot(x1,dx2) instead of dot(dx2,x1), or whatnot. Or worse yet, you might inadvertently finite difference x1(t+dt) with x2(t-dt), because they got scrambled/swapped during eigensolution.
So I guess that's what I would dig into first, is making sure that you are informing whatever higher level programming environment you are using, about these symmetry/Hermitian properties so that it can dispatch to the right underlying algorithms. This might take the form of extra arguments ('symm=true', perhaps), or using special Hermitian-only matrix containers/types? Hard to say for certain. And make sure that you are really tracking/selecting the correct eigenvectors when you are differencing/dotting.