Trochę nie rozumiem czym jest OBB/DATA. Temat był wielokrotnie wałkowany (nie wszystko w jednym wątku).
Poza tym nie jestem pewien czy to jest napisane we właściwym dziale (ostateczną ocenę zostawiam moderacji forum)
Mimo to pozwolę sobie napisać to co wiem.
ad 1. W standardowym androidzie nie ma możliwości ustawienia domyślnej lokalizacji instalowania aplikacji. O ile się orientuję, programista/wydawca aplikacji może zadecydować czy aplikacja domyślnie ma być instalowana na pamięci masowej.
ad 2. Jak dobrze pamiętam dla systemowego menadżera aplikacji obojętne jest czy jest to wbudowana pamięć masowa(po twojemu to chyba NAND FLASH) czy zewnętrzna/wymienna pamięć masowa (TF/SD). Ważnym jest żeby dodatkowa pamięć masowa była zamontowana w położeniu /sdcard, /storage/primary/legacy lub podobnym.
Sprawa jest uwarunkowana historycznie. Początkowo aplikacje były instalowane tylko na pamięciach systemowych, jednocześnie urządzenia nie posiadały wbudowanych pamięci masowych. Wtedy karta pamięci przez system była wymagana, żeby użytkownik mógł przechowywać swoje dane (muzykę, zdjęcia itd.) oraz żeby aplikacje w rodzaju aparat czy dyktafon mogły gdzie te dane pomieścić. W pewnym etapie rozwoju pozwolono programistom używać kart mapięci jako magazynu danych dla aplikacji (np. do zapisów postępów w grach czy do budowania baz danych).
Możliwość przeniesienia aplikacji na karty pamięci/instalowania na nie pojawiła się dopiero w Froyo(Android 2.2). W tym czasie jeszcze na rynku nie było urządzeń z wbudowaną pamięcią masową (Nexus One i Nexus S nie miały takiej pamięci).
Wewnętrzne pamięci masowe (podobnie jak tablety z Androidem) pojawiły się za sprawą innych producentów sprzętu, a nie za sprawą Google. Podejrzewam że przy okazji ich wprowadzenia zdecydowano się na to, żeby te pamięci były montowane w położeniu kart pamięci (wtedy domyślnie /sdcard) po to, żeby aplikacje zawsze były dostępne. To oczywiście ma swoje minusy, które programiści muszą mieć na względzie (np. inne położenie karty pamięci).
Dlatego systemowy menadżer aplikacji często pozwala na przeniesienie tylko na wbudowaną pamięć masową. Instalacja na karty pamięci jest możliwa tylko po modyfikacji systemu (co zawsze wymaga dostępu do praw roota).
ad 3. Dostęp do niektórych lokalizacji może nie być możliwy ze względu na zabezpieczenia systemu. Poprawcie mnie jeżeli się nie mylę, ale przy pierwszym uruchomieniu oraz po każdym przywróceniu do ustawień fabrycznych system generuje zestaw kluczy używanych do szyfrowania aplikacji i ich danych na pamięciach zewnętrznych. Mechanizm ten jest celowo zaimplementowany między innymi po to, żeby nie było możliwe używanie kupionych aplikacji na innych urządzeniach przez przeniesienie karty pamięci oraz, żeby ochronić dane użytkownika przed nieautoryzowanym dostępem do zawartości (np. przez kontroler kart pamięci). Tak raczej jest gdy aplikacja jest przeniesiona na pamięć zewnętrzną lub tą pamięc używa jako magazyn danych.
ad 4. Najpewniej tak. Chyba jedynie modyfikacja systemu pozwala na taką zmianę(co niestety wymaga dostępu do praw roota).
Niestety nie wiem czy gdzieś w nowszej wersji zaszły zmiany odnośnie pamięci masowych. Pewnym jest że ze względu na kompatybilność ze starszymi aplikacjami zawsze jakaś aplikacja będzie rozpoznawać przynajmniej jedną z pamięci jak "kartę pamięci".