I always wait to take off until I have at least 12 satellites on the display
That's probably your issue.
You aren't waiting for the homepoint to be recorded.
Although it is possible, with only 12 sats it's almost certain that the drone's GPS reception is not good enough for good location data and to record a home point.
Your
Air 2 received signals from two different satellite constellations (GPS + Glonass).
But the
Mavic 3 is listening in to 3 satellite systems (GPS + Gallileo + Beidou).
The drone needs an absolute
minimum of 6 sats, well spread across the sky to provide good location data.
With three different sat systems and only 12 sats, it's likely that a lot of your sats are bunched up and close together, particularly if the drone doesn't have a clear view of most of the sky.
To record a home point, the number of sats is usually going to be closer to 20, but sometimes it could need even more.
Instead of relying on some magic number, you need to wait until the drone's flight controller tells you that the location data is good enough and the homepoint has been recorded.
To do that, keep an eye on the satellite icon in the top right of the screen.
When location data is poor, the icon is red.
When location data is better and the drone has an approximate home point, the icon changes to yellow-ish
When location data is good and the home point has been recorded, the icon changes to white.
These two examples show why waiting for 12 sats or even 20 sats doesn't ensure that you have a home point.
The number of sats isn't the most important factor .... Wait for white.
Another point that is also important for Precision Landing to work properly is that you need to have a suitable ground pattern or texture with identifiable features.
If it's featureless like all smooth, black asphalt or green grass, it will be difficult for the technology to work properly.