I just got an answer on GitLab (thanks!):
https://gitlab.kitware.com/vtk/vtk/-/issues/18042
I copy it here:
The string array (vtkStringArray) in VTK is not memory compatible with numpy string arrays so the numpy interface does not support it. You have to use vtkStringArray directly to add string arrays:
array = vtk.vtkStringArray()
array.SetName("foo")
array.SetNumberOfTuples(2)
arraySetValue(0, "test")
array.SetValue(1, "test2")
my_polydata_dsa.GetFieldData().AddArray(array)
After this, it is possible to retrieve the array with:
my_polydata_dsa.GetFieldData().keys()
>>> ['foo']
my_polydata_dsa.GetFieldData().values()
>>> [(vtkmodules.vtkCommonCore.vtkStringArray)00000257193E1048]
my_polydata_dsa.GetFieldData().values()[0].GetValue(1)
>>> 'text_2'