Stupid forum has no ASF section for ARM - where it is most applicable.
Only for AVR - where it is largely irrelevant!
Anyhow, the name & description of USART_CALLBACK_BUFFER_TRANSMITTED are unhelpful:
USART callback enum.
Callbacks for the Asynchronous USART driver.
Callback for buffer (sic) transmitted.
This is fine when using usart_read_buffer_job() - but what is one supposed to do when using usart_read_job() ??
We can guess that it actually applies to both - but then have to mess about with an experiment to verify the guess.
Of course, we can dig into the source code and find that usart_read_job() is just a call to _usart_read_buffer() with a length of 1 - but that's not the point.
The point is that the documentation should be clear & explicit - the user should not have to guess and/or reverse-engineer the code to make sense of it!