Mi sono andato a leggere la definizione di sequenza di Kaprekar e ho avuto modo di vedere che
la condizione di stop non è next(n) = 0, bensì next(n) = n.

Quindi, sistema i metodi interessati in questo modo:
codice:
    public static List<Integer> getSequence(int n) {
    	List<Integer> sequence = new ArrayList<Integer>();
    	sequence.add(n);
    	return getSequence(n, sequence);
    }
    
    private static List<Integer> getSequence(int n, List<Integer> sequence) {
    	int next = next(n);
    	if( n == next )
    	    return sequence;
    	sequence.add(next);
    	return getSequence(next, sequence);
    }
e non avrai più l'errore.