I'll get to an answer in a second.
We've been back and forth in comments, and no, your latest .blend clarifies nothing. Presumably, your object on the viewer's left demonstrates the need for the UV project modifier, but if you alt-g reset the bone and apply the UV project modifier, then move it back into position, it behaves exactly the same as it would with the active UV Project modifier. So, yeah, I still have no idea about why this needs to occur.
Now, I'll give you an answer, but it's not the answer you're looking for, because I'll instead tell you how to limit a UV project modifier using only 2 UV maps, no extra objects (beyond the required projector and projectee), no extra materials. Why ignore your explicit limits? Because I still haven't heard any reason why your limits are important to your output, and because the reality is, doing it with 2 UV maps is extraordinarily simple and easy to implement. Maybe you've been doing it a different way and think it's too complicated; it's not, and I'll show you.
Let's start with a single object and a single UV map. Unbelievably, yours is already perfect...
Why is it perfect? Because the faces that you want to use your UV projector modifier on are already out of bounds: all of the faces have U coordinates <0. This is important as we'll see.
Now let's make another UV map.
So ugly! But the actual content of this UV map doesn't even matter. Do anything you want here. Arrange your UVs into NWA lyrics as an easter egg, it's cool. I just reset the whole thing to demonstrate that it doesn't matter. In practice, it's just going to be a copy of your first UV map, since that's what you get when you hit the + button for a new UV map and don't do any other work, because you don't need to.
Time for the modifier. This is the exact same modifier you have on your .blend, except it uses our second UV map. I'll give you a picture, but you already know how it works. You might want to notice that I'm back on UV0, and so I've got an ugly white face where my beautiful pixelly face ought to be.
Now, we don't need any additional materials, but we do need to edit our existing material. I'm doing some hacky things here, just to save us some nodes, and I'll explain them; you can always feel free to do it the "right" way instead, and I can explain that too. Here's our nodes.
So, first, notice the face is now there; it wasn't before. This is working. It's working in rendered preview too, but the lighting's poor, so I used mat preview instead.
Now, let's explain what I'm doing. I'm getting two different UV coords. And then I'm mixing between them on the basis of whether the first UV coords are out of bounds. More particularly, on whether the U coordinate is less than 0. So what I'm doing is using UV0 to code for whether or not my face should get affected by the UV project modifier.
The hacks are:
1) I'm just sending UV vector to a math node. The math node ends up operating on the first element of the vector only, which is U. That's why it works. More professional would be to run this through a separate XYZ node first.
2) I'm using a Mix RGB node to blend between the UV. Mix RGB doesn't actually know whether it's getting a vector or a color, all it does is mix. Here, it does fine. We could separate XYZ, multiply each channel by fac or 1 - fac, then add them, which would be more professional, but harder to fit into a screenshot, and Mix RGB works fine.
What do I end up with? A single object where the OOB status of faces on UV0 determines whether or not we use UV1. Add the armature modifier and you're good to go.
See? Not so complicated.