From what I know, the points in a Line2D are relative to its origin, so all the coordinates used need to be relative to the Line2D node, not relative to another node. This is likely why you are getting different results than you are expecting.
I'd recommend looking at this page on the Godot documentation for Vector Math to learn more about transforms, relative positions, and all that stuff.
How is this happening? I clearly added 32 to the x coord but it shows a difference of 6 in output, y grew a little too when I added nothing.
The difference is 32. It went from negative 13 to positive 19.1024, which is a 32 difference.
If you are wanting to get a point 32 coordinates different on the X axis relative to the GunPortPosition1 node, then you'll want to use code like this (untested, written in a hurry):
$Tile/Laser1.add_point(Vector2(-13,1))
print("GunportA = ", $Tile/Laser1.points)
# Get the global position of the GunPort and then use the to_local function
# to make it relative to the Line2D node
# var end_point = $Tile/Laser1.to_local($Tile/GunPortPosition1.global_position)
# However, since we want an offset, we can do it this way instead:
var end_point = $Tile/Laser1.to_local($Tile/GunPortPosition1.to_global(Vector2(32, 0))
# Add the point
$Tile/Laser1.add_point(end_point)
print("Laser1 coords are:",$Tile/Laser1.get_point_position(0), $Tile/Laser1.get_point_position(1))