I'm thinking about a hardware problem
and maybe both the Due and the sensor are both a bit itchy with the I2C bus signals.
Can you tell which library you use ?
Jumper cables can be broken and breadboards have bad contacts. Do you use a breadboard or do you use the GND for the I2C bus for something else. Can you show a photo, so I can see that ?
If the library supports it, then you can try Wire1 with SDA1 and SCL1. If that makes a difference, then you could remove those 1k5 pullup resistors.
Sometimes 100Ω resistors at put in the signal path of SDA and SCL near the processor, to limit the slewrate.
Below are a few paragraphs with my thoughts, you might have the wrong combination of things.
The Arduino Uno can take a lot. It has a slewrate limiter for outgoing I2C signals and a filter for incoming I2C signals and it pulls SDA and SCL low with a high current and it works at low voltages (so it still works with a voltage dip).
The Arduino Due runs at a higher frequency, and the falling edge of SDA and SCL can create nasty spikes and the Due is more sensitive for nasty spikes as well. The software for the Due does not get good support anymore from the Arduino team. It has onboard pullup resistors which are 1k5 (it should be 10k).
The pullup resistors is the smd device:
If you heat it up with a big blob of solder, then it falls off. They are 1k5. I hope they are not 1k, because that is really too low.
Is the MLX90395 from 2020 ? Then it is a new sensor. Some I2C devices from Melexis had trouble in the past with the I2C bus.
The Raspberry Pi Pico is designed by the Raspberry Pi team. It runs Mbed. The Arduino layer is on top of Mbed. There is a known problem with a I2C Scanner, because Mbed does not support a I2C write command with zero data length. But the rest is reliable.
My advice is to not use the Due with the MLX90395 and forget whats going on. That may seem silly advice, but sometimes you have to accept that something does not work, so stay away from it.