I have just changed my development device from an HTC Desire on Android 2.2.2 to a Samsung S4 running 4.2.2. The device is fitted with an SD card but files copied to DirDefaultExternal go to a familiar path.... but at an entirely unexpected <device> in what appears to be the phone's hard memory.
When plugging in the phone as a USB device Windows shows two separate devices, a 'phone' and an 'SD Card'. It seems I am unable to read/write to the SD card using DirDefaultExternal.
Maybe you can try DirRootExternal. Testing my apps with .DirDefaultExternal saves files to the root of the SD card. Also i can assume that "DirDEFAULTexternal" goes to something that is OS -related, so dependable from the device itself. Maybe i am wrong, its a thought.
DirDefaultExternal points to the app default path on the external storage. Some devices include several external storages. There isn't any API in Android to automatically find the other storages.