Preface: the car ran out of gas with about 4/10 of a tank on the dash. That is waaay to much to be a siphon jet issue. I have a Chinese fuel pump so I actually just assumed that was the problem and bought a new pump before I even looked in the tank.
I was quite surprised when I opened the tank to discover less than 3oz of fuel in the right lobe of the tank. I was even more surprised when I opened the left tank and saw likewise only a couple oz. of fuel!
I dove into hidden menu test 6 and it reported 33L left and 0.0 right.
While I had the senders out I hooked them up and watched the dash and they swept through the full ranges 0-55 and 0-27. I put them back in and did a full tank fill up.
Conveniently just before the gas station entrance is where my car broke down: I did have to use my OTHER X5 to tow it 100' or so into a parking space.
I filmed the fill up live and noticed the left tank stopped climbing at 28L. Right went to 27 as expected.
Even stranger, as I drove away from the gas station, I noticed the left side pop up to 55 as it should.
The dash showed only 3/4 of a tank even when the test 6 was reporting 55+27+82 (full tank) do to averaging. When I reset the fuel system with test 21, it popped right up to 1/1 full tank.
I drove with test six up for much of my driving over the next few weeks to determine what was going on and I saw some erratic behavior on the left sender, namely that it would change value radically. Example, I could tell when the tank was at flood stage where the two sides are just barely flooding over the saddle becuase the right side will settle in at a stable value.
The problem was; that when the left tank had 28L or so it would report at much as 40L.
That's implausible: you can not have more than 29L left unless right is more than 1.5L.
I had a bonus problem that my right sender was only reporting 0.2 vs 1.4L at flood stage, so even with test 6 running it was very scary driving around with only 2/10 of a litter of warning that the left side went dry. Basically I would have to add fuel to keep the right side above flood stage.
Over the next few weeks I saw a few very specific erratic things, specifically that I would see the value jump from 28L to 38L
So I determined without a doubt that the left side sender was sending errant values but always sending something. I could tell based on the flood stage that it was accurate at times.
I couldn't find it but there is a BMW bulletin on repairing the float resistance wiper vs replace the whole sending unit so I set off to do that repair from memory.
Success! Here is what I did:

I put the sending unit in a vice and clamped a quick clamp to stop the float in an exact position.

Measured the Ω value.

Lifted the arm fully

Measured the value. Max reading was 500 Ω. I think that it never gets that high in the tank maybe 450 Ω is full. I'll have to wait until I fill the tank to confirm.

Dropped float arm back to the hard stop

In the exact same position the reading is 20% different! I lifted and dropped a dozen times and it would usually report close to the same value (155) but about 20% of the time some very different value.
Problem confirmed: unreliable resistance sweep.
Now to disassemble:

Unclip the wires.

Release tab on the resistance unit

Remove resistance unit
(Pull off the wire clips. Don't try to unplug the wire just pull the clips off the resistance pads)

Clamp in a vice.

Carefully release the first clip holding the float arm. I used a diagonal cutter to reduce the odds of snapping plastic.