I made just a couple of changes to the plist to get your sample to work:
For the plist, my new fragment looks like this:
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeIdentifier</key>
<string>com.devian.sampleapp.customstring.dragdroptype</string>
</dict>
</array>
And that's it, your code unmodified works now.
I made just a couple of changes to the plist to get your sample to work:
For the plist, my new fragment looks like this:
<key>UTExportedTypeDeclarations</key>
<array>
<dict>
<key>UTTypeConformsTo</key>
<array>
<string>public.data</string>
</array>
<key>UTTypeIdentifier</key>
<string>com.devian.sampleapp.customstring.dragdroptype</string>
</dict>
</array>
And that's it, your code unmodified works now.