Final success work on youtube: https://youtu.be/yttmpihjmEo
See youtube instead of below
I found some way to do that but it's another Hell-work :(
( my example works failed but you can do this way )
Idea

every vertex in model has their index
(image wrong :/ , start from 0)
and there is some kind of work with index (like build modifier on blender)

and I found that "join object" mean "push_back" their vertex

you can see join order can effect vertex index
Example work

example work with blender

select vertex you want to pin

duplicate selected vertex and seperate from object with Editmode > Seperate Selection
*important ) check your pin vertex count

select hair object, pin object and join it
after join, merge vertex by distance
and go to godot

set pinned points count to *your vertex count and set element same as index
you can see pin vertex selected well (in example, 155 vertex)

and another hell work for spatial attachment setting :\

ahh i forgot select hair volume, failed example
but you can see expectation result
so, test your hair simulation on blender
and work with fixed vertex (group) :)
EDIT:
Good news !
you can setup easier Hell-work on tscn text edit

change pinnedpoints array 0 to *selectedpinned_size
and change attachments properties; "NodePath()" to "NodePath("..")"

Work very well :)
create pinned_points array text for Processing
final int count = 450;
void setup() {
StringList tmp = new StringList();
for (int i=0; i<count; i++) {
tmp.append(str(i)+",");
}
String[] j = tmp.array();
saveStrings("arraylist.txt",j);
exit();
}