Why does assignment to starred target result in a list (not tuple)?

I expected a starred target in an assignment and starred parameters in a function definition to work similarly. But the first produces a list, and the second a tuple:

def function(x, *args):
    print('star argument', type(args), args)
    # star argument <class 'tuple'> (1, 2)
    y, *target = x, *args
    print('star assignment target', type(target), target)
    # star assignment target <class 'list'> [1, 2]
    
function(*range(3))

Indeed the docs specify a list.
But what’s the reason for that? It seems inconsistent. Or is my view of similarity between the two mechanisms incorrect?

You’ll likely find the rationale in the python-ideas discussion for PEP 448 – Additional Unpacking Generalizations.

The PEP notes that the decision was intentional but doesn’t explain why:

Whilst *elements, = iterable causes elements to be a list, elements = *iterable, causes elements to be a tuple. The reason for this may confuse people unfamiliar with the construct.