polygon = Geometry2D.offset_polygon(polygon,1.0,Geometry2D.JOIN_MITER)
polygon is a PackedVector2Array

without that line of code:

with the code:

what's the problem? am i using it wrong or smth

nvm fixed it

for anyone who stumbles upon this in a few years:
apparently offset_polygon() returns an array within an array, so the code was effectively setting the polygon to the array of arrays (i think?) and not an actual PackedVector2Array so no polygon

this worked for me:
var polygon_offset = Geometry2D.offset_polygon(node.polygon,1.0,Geometry2D.JOIN_MITER)
if not polygon_offset.is_empty():
node.polygon = polygon_offset[0]