Turns out this issue was only on Samsung devices. Maybe there was some silent update? I have no idea.
Adding clipData = android.content.ClipData.newRawUri("", imageUri) to Intent fixed the issue.
clipData = android.content.ClipData.newRawUri("", imageUri)