Спрайт это не текстура, он чем-то похож на
мини-Mesh, у него есть свой список вершин и ссылка на текстуру, к которой он прикреплён.
Подозреваю, что проблема решится сама собой, если использовать
EditorGUILayout.PropertyField. Если такой вариант не подходит, то можно попробовать посмотреть в районе
SpriteUtility.GetSpriteFromPathsOrObjects. В этом классе обрабатывается перетаскивание спрайтов на сцену, думаю, что и перетаскивание в инспектор должно быть где-то рядом.