If my own experience is any indication, this is going to be a tough one. If you had the R supercharged model, I’d advise you to look at the supercharger intake elbow and see if the vacuum line running into it is rotten. But I don’t think the normally aspirated V8’s have this pipe or fitting.
I had the same pair of lean codes. After trying the tricks I used on my previous X308 XJR (checking/sealing every join in the plastic intake pipe) I finally ended up taking it to the major Jaguar dealership in my area to check it out. They did a smoke test and found nothing. They performed an injector clean (in car) service, but the codes returned after a few miles. So they seemed to be convinced my fuel injectors were bad.
I didn’t agree with this diagnosis, since I was getting codes in both banks, and I thought it highly unlikely I had suddenly developed a bad injector(s) in both banks at the same time. I did most of the things you did (fuel filter, cleaned MAF, reset ECU, etc. but no avail.
Finally, once more I set out to see if I could find a leak. I had read about potential culprit areas, like that vacuum line into the elbow I mentioned. I first tried using a propane torch, while monitoring the short and long term fuel trims (LTFT) with a cheap OBD-II reader and a smartphone app. Nothing.
Then I used carburetor cleaner spray, and bingo - when I sprayed the elbow vacuum line, the trims all flattened out. Of course, this fitting is impossible to see in situ, so after a few hours of disassembly of components, I was able to see it. The service center smoke test failed to find this damage.
Quite a bit of horror - apparently someone (probably a repair shop) had found this rotted fitting, but instead of replacing the fitting just squirted some sort of putty or sealant to address the problem. (I say a shop because based on the receipts I got with the car and the owner history, the car was not owned by a do-it yourselfer - he pretty much had every minor repair or servicing farmed out to shops. And it had been brought in before to address P0171 and P0174.)
So I replaced the fitting (which cost less than $10 OEM - inexcusable that the other shop didn’t do that fix, if they already took it apart enough to squirt sealant around it.) Problem resolved. Most of the cost of the fix is to remove all the components and replace gaskets (since it would be crazy to fix one leak only to invite another by reusing worn gaskets.)
To get straight to the tip - try using carburetor cleaner wherever there’s a vacuum or air pipe fitting or join, or along the length of the lines. You may be able to tell just by hearing the idle speed change if you’ve found a leak, but ideally you’d watch the LTFT fuel trims on a scanner in case the leak is subtle.
I suppose if only one code is now being thrown, then you can focus on what affects that bank only and can skip “common” areas. But since you did have P0171 before, it would seem the problem is common to both banks unless it’s a fresh problem. I suppose it could be a fuel injector if only one bank is acting up now.