Android users all kinds of overlays over the sdcard directory. This is part of how it enforces storage access for apps. There’s probably a way to override these settings, but they sure as hell aren’t easy.
There’s also another layer of permissions somewhere seeing as I can’t access certain files on /sdcard that were created by the recovery. I assume it’s an selinux context issue (it always is).
Changing ownership should work on real SD cards with normal storage, but it won’t for the emulated internal /sdcard.