Short answer. DJI Pilot 2 shows this when the file contains more than one polygon, sits in a subfolder on the SD card instead of the root, or is being imported as the wrong mission type. Split the file to one polygon, move it to the root of the card, and try importing it as a waypoint mission.
Check these in order
1. The file contains more than one polygon
What it looks like: the import fails immediately, on a file that opens fine in Google Earth or QGIS. Why it happens: Pilot 2 expects one closed boundary per file, and a KML holding several placemarks has no single area to fly. Fix: split the file so each polygon is its own KML — the KML Converter does this in one pass.
2. The file is in a folder on the SD card
What it looks like: the file never appears in the import list, or appears and is refused. Why it happens: Pilot 2 only reads the root of the card. Fix: copy the KML or KMZ to the top level of the SD card, not into DCIM or any folder you made.
3. The shape has holes or nested rings
What it looks like: a single-polygon file still fails. Why it happens: polygons drawn inside other polygons, and inner rings cut out of an area, aren't supported. Fix: redraw the boundary as one simple closed outline.
4. You're importing it as the wrong mission type
What it looks like: the same file is rejected under Mapping but accepted elsewhere. Fix: try importing as a Waypoint mission rather than a Mapping mission. Several files that Mapping refuses will load this way.
5. Old firmware on the aircraft or controller
Some KML import failures on the M30 series and M300 RTK were addressed by firmware updates reported in 2022 (M30 aircraft v05.01.00.00 / RC v01.02.03.42, M300 RTK aircraft v05.01.01.00 / RC v05.01.02.00). Check the current DJI release notes for your aircraft before relying on those version numbers, and update both the aircraft and the controller.
If none of these worked
Run the file through the KML Converter — it rewrites the geometry into a file Pilot 2 will take.