I’d try maybe to get the whole array in GDScript, modify it in the GDScript script, then send the modified array as the new positions’ array to the shader.
It’d go something like this:
# Retrieving the array
var new_positions := material.get_shader_parameter("positions") as Array
# Modifiying the array hic et nunc
new_positions[...] = ...
# Updating the shader
material.set_shader_parameter("positions", new_positions)