“It seems like the current GitHub Copilot non-permissive license filters are doing a somewhat exact match for the previous 150 characters or so of (generated code + code before cursor), and fully suppressing any matches.”
Copilot’s public-code filter is off by default. Turn it on and it goes silent, and rename one variable and it hands back the GPL function anyway. A competitor wrote this to sell its own product, but the test is easy to repeat. GitHub’s license protection is a string match that you have to opt into.