For CustomPropertyDrawers on list or arrays, CreatePropertyGUI is called per item, but the drawer is shared for all items. So any reference that is held will be shared across items. See the note about lists on this page: https://docs.unity3d.com/ScriptReference/PropertyDrawer.html
References are kept in the user code (_toggleProperty, _testContainer, etc.). So they will all share the reference set during the last item's CreatePropertyGUI. To solve that, you can store references in a struct held in a dictionary per property path, or keep a context using VisualElement.userData on the element created by the drawer. For more info, you can reach out to us on https://discussions.unity.com/tag/ui-toolkit