The packing_list template comes from the root of the template directory, not from the localized subdirectory.
If I print the packing_list from the Sales order form, it comes from the localized subdirectory as expected.
I wasn't able to reproduce this and reviewing the code I couldn't see why this might be the case.
I am going to close "works for me" but if it continues, we can work on debugging the annoying portions of bin/io.pl (subs print and print_form).
Ok, I will dig it deeper, because it happens for me regularly.
I think, it could be because printing from shipping does not respect the language settings and use the default. It is a theory at this moment.