Když děláš new, tak ti inference nenatypuje na interface, ale hodně jiných výrazů (volání metody...) už typ interface má.
A popravdě mít proměnnou natypovanou na ArrayList místo listu není ideální, ale žádná tragédie, dokud to zůstane omezené na malý scope.