AO polygon uses floating point values
The whole AO handling functions assume that the points making up the AO polygon are integers. However, the SQF part of Dynamic Frontline uses floating point values (and passes those to the extension).
To prevent any discrepancies and potential rounding errors, reposition all the AO points to (int(x), int(y))
before sending them to the extension, at the mission start (and use only those later to ensure that the polygon that is drawn where the extension thinks the AO is).