You are right. There isn't any obvious reason here to use a package variable instead of a lexical, except perhaps to demonstrate a hole in your knowledge. :-)
I didn't know that you could declare a variable with my() before a BEGIN block as in your example.