For people who have this issue in the future, know that UVs don't get passed into the shader if there is no texture. I've gotten around it by having a solid white 1 x 1 placeholder texture.
In short, under Polygon2D, set your texture to an Image Texture. Next, set its size to x==1 and y==1. For the sake of efficiency, unless you need them, you can turn all flags off.
From that, a UV will be provided to your custom shader; without a texture, even an unused one, apparently UV is meaningless to it. If anyone has further data I would love to hear about it.
Side note: Remember that you still need to set the UVs for your individual polygon coordinates; or they'll all, still, default to (0,0).