Use MediaStore.Images.Media.EXTERNAL_CONTENT_URI and failover to MediaStore.Images.Media.INTERNAL_CONTENT_URI

If you review the android source, it makes it clear that the default should be EXTERNAL_CONTENT_URI when starting the intent. 

com.android.gallery3d.data.LocalAlbum refers only to EXTERNAL.
MediaStore_Images_MediaTest in platform tests references EXTERNAL.
com.android.systemui.screenshot.GlobalScreenshot writes to EXTERNAL.
com.android.camera.ImageManager.java has the most damning evidence:

/**
 * ImageManager is used to retrieve and store images
 * in the media content provider.
 */
public class ImageManager {
    private static final String TAG = "ImageManager";

    private static final Uri STORAGE_URI = Images.Media.EXTERNAL_CONTENT_URI;