Because myglobals: lexicals defined outside any blocks are scoped to their file. The file you do'd was compiled without strictures and created a different, global%config that it populated. Inside your own file, strict is happy, because you cannot see the global %config.
Maybe I misunderstood your sentence, but my creates a lexical, not a global. The difference is perhaps subtle in this thread, but leads to important issues. I often use
Coping with Scoping as a reference for this kind of topics.
Update: Maybe I should correct and rephrase this reply. The opposition is between lexical and package variables. Since package variables are global, I thought that saying that a my variable could be global could drive to misunderstanding.