Thanks for all the hints, very interesting!
Note: the datasheet front page say "16 bit data out", but page 27 for high resolution mode says 12bit. Anyway, I get about 16300 for 1g, so it is 16 bit. (range is set to +-2g, so 2^16/4=16384).

Yes it's a solar tracker, but we need better than 0.05 degrees accuracy. The rotational axis is close to the accelerometer so the acceleration due to movement is modest (though visible and I also see additional vibrations when the structure moves).
There is some math to go from the accuracy on the accelerometer axis to the accuracy on the angle, but I won't bother you with that.
Anyway currently I get garbage out because I've garbage in, so I'm trying to improve the XYZ acceleration signals.
I'm almost sure that I configured the chip correctly, I've spend a lot of time understanding the functions and i2c commands of this chip.
It has two modes, low power and normal mode. I've set it in normal mode. Yes it takes the high power, which is a few micro A.
I've added some filtering (moving average), and it surely gets better, but filtering adds delay to the real value, which is like loosing accuracy (in the short term). So, 16 bit is just a dream unless I wait the time of the filter. See my attached image with 0.2s and 2s filter.
I've the PCB standing on a desk besides my desk. The noise on the three axis measurements are quite similar and stable, I think that it isn't related to vibrations.
Currently the chip ADC is set at 25 Hz and I read it at 20 Hz. Then I do the averaging. I am not happy of the large delay introduced by the averaging. 10 samples*50ms period means already 500 ms.
I am wondering, what about setting inclinometer's ADC and i2c's read at higher frequency?
The chip's ADC can return at 50, 100, 200, 400, 1344 Hz in the normal power mode.
Is this the Bosh part you used? (that's the only 16bit out, the others are 14 or 12 bit)
https://www.mouser.dk/ProductDetail/Bosch-Sensortec/BHA260AB?qs=YwPsRIUVAOfIt89bfYiNvA%3D%3D