Let me add a few remarks explaining why there is no better method for "small" matrices in the range described (order 4 to 64) than the usual approach: tridiagonalize the Hermitian matrix with a unitary similarity transform (a direct step), then iteratively apply QR-like operations to approach a diagonal limit.
If the eigenvalues (diagonalized matrices) alone are needed, the reduction to tridiagonal form can be carried out with Householder transformations using $2n^3/3$ (complex) multiplications, or $4n^3/3$ multiplications if the eigenvectors (unitary similarity transforms) are also needed. This reduction step's complexity dominates that of the iterative steps, which is $O(n \log^3 n)$ "even in the case of high precision" (Reif,1999) if only eigenvalues are needed (increase by a factor of $n$ if eigenvectors too are needed). So in any case the usual combined complexity is $O(n^3)$ with a modest leading coefficient.
Finding eigenvalues is of course theoretically equivalent to getting roots of a characteristic polynomial, and their effective equivalence is outlined (with links to references) in the early portion of this previous Answer. The rest of that Answer explains why direct methods for orders 6 and above are impractical compared with the tried-and-true iterative approach(es).
For a 2x2 matrix it certainly makes sense to use the stable form of the quadratic formula to get the (real) eigenvalues directly. Probably a case can be made for using Cardano's formula for roots of a cubic to solve eigenvalues of a 3x3 matrix, or perhaps the formulas of Viète if we are to avoid complex arithmetic.
But there the "garden path" of direct methods comes to a sudden narrowing! Although the general quartic can be solved by radicals (Ferrari's method) and the general quintic polynomial by Bring radicals, these methods require solving "auxiliary polynomials" of lower degrees. Such cumbersomeness is compounded by complex arithmetic and monitoring for loss of significance in a floating point implementation.
The situation for order 6 and above is even more inauspicious because in place of the single argument Bring radical, exotic functions of at least two arguments are needed. Moreover the known methods that could be coded for variable degrees $n$ involve an element of trial-and-error to locate all roots.
In contrast the usual approach adapts to variable orders $n$ with no apparent difficulty and takes efficient advantage of the smallness of $n$ in both time and space.