Advice on which 9 axis sensor to use

I hope someone can give me some advice based on their own practical experience as to which 9-axis sensor I ought to get. I want to use it on a Pico running the Pimoroni uf2 Micropython. My knowledge on these devices is zero and I am wanting to simply read the x,y,z tilt and roll in degrees, x,y,z gyro and n,s,e,w direction in degrees or radians.

I started using the MPU6050 GY521 6-axis module (3 Gyro, 3 Accelerometer sensors) and whilst it works, it is noisy (despite lots of median and kalman filter to try and reduce it, which also naturally slows down the response time).

I now need a 9-axis module to also indicate direction. I bought MPU9250 modules (supposedly) and frustratingly found none worked properly - there were no usuable mag results. Eventually the supplier said they were a batch of clones and not originals.

I see there are BNO085 devices (improved BNO055 devices?) and ICM20948 9-DOF Accelerometer, Magnetometer and Gyroscope devices. I understand that some devices have their own processor and so can compute roll and pitch from the gyros as well. Which device would you suggest for stability, less noise and very easy results without the Pico having to do a lot of computing.

Any practical advice would be most welcome as this is a totally new area for me.

Thanks