All right, I've come back to it, and seems to work now. Without any obvious change in the system.
Maybe the TCXO mod to the SDR that people talk about is necessary for reliable measurements.
Test Setup:
Pluto-SDR
Mini circuits BLK-89-S DC block
Mini circuits VAT-30A 30dB attenuator
Mini circuits VBF 1575 bandpass filter (I'm not sure if the DC block is necessary with this)
M-M Coax ~20cm
6dB resistive splitter I designed -> Spectrum analyzer
Mini circuits VAT-30A 30dB attenuator
Mini circuits VAT-20A 20dB attenuator
M-M Coax ~20cm
Mini circuits BLK-89-S DC block
uBlox EVK-M10 GNSS Evaluation kit.
Why two DC block? Because the GPS might output DC for active antenna, and the Pluto SDR, I don't know what it does on it's output. Total attenuation is -86dB, plus whatever the insertion loss of the DC block and coax cables are.
By testing I've concluded that at -42dBm output setting on the SDR I still get GPS fix, and the C/No values are barely 32dBHz, which is the minimum according to ublox to get a fix. At -45dBm I don't get a fix for a long time.
-86-42 = -128dBm, datasheet value: -148dBm. How come it's so different? Well the datasheet value is "With a good External LNA", without any description, how much of the gain of that LNA is.