Ah, one problem that I did not consider in the last post is that the fraud prover is faced with two difficulties:
 They may only be able to download some fraction of the data, because the prover did not upload all data
 Only some of the downloaded data may be on a lowdegree polynomial, as the FRI commitment does not prove 100%
I’ll try to work through the numbers with that in mind, as I did not consider the second part of this above.
Setting security at \lambda = 2^{80}: Let’s say the prover has to commit to the data with rate r=0.25 and with a FRI that proves f=90\% of the commited evaluations in D are on that polynomial. (This needs \log(\lambda)/\log(f) \approx 526 FRI tests)
Let’s say the fraud prover wants to use the same rate f'=90\% for their fraud proof. That means they will need to have r/f' evaluations of the polynomial, which means they actually need r/(f'f) total data, as some of the data they download might not be on the polynomial. This means at this rate, the stopping rate would be r/(f'f) \approx 31\%.
If we instead set f=f'=80\% (approximately halving the proof sizes), the stopping rate will be approximately 39\%.
Both are a bit better than the 2D scheme.
Two more interesting problems I noticed:

How does the fraud prover effectively commit to a subset of the data, that is at the same time efficient to query. One possibility is to commit to a boolean vector using a Merkle tree. If we assume the fraud prover has 1/3 of the data, it will on average need three queries into that boolean vector per test to find an available piece of data, so that might add quite a bit to the proof. It would be interesting if instead, there is a way to commit to a map D \rightarrow D', where D' is the data available to the fraud prover, which is provably random.

A second interesting problem is given an oversampled polynomial interpolation with some errors, how to find the correct polynomial that interpolates most points in the sample. I would guess in the case of complex polynomials this could be done using FFT as it should still give an approximation despite the noise, but there is not really a notion of approximation in \mathbb{F}_p. It’s probably a solved problem but I would be interested in how it’s actually done.