Q:

Why do I only have 304 MB of available storage space?

I have AlphaRev Oxygen R2, 4Ext Touch Recovery, AN-Droid 2.2.0 with Android 2.3.3 on my HTC Desire. But I have only 304 MB of available internal storage space after the first boot up. Now I installed Shazam and it shrank down to 296 MB.
Shouldn't this number stay the same when I install an app? I mean I have formatted my SD card in 4Ext and created a 2 GB Ext4 partition for apps. Are the apps being installed on internal memory anyway? How do I check that? And if so, how do I tell it to install to the SD-Ext partition instead?
This ROM is supposed to come with integrated App2SD+. Ain't that right? If not, can you suggest another ROM that has integrated App2SD+ or tell me how to set it up manually?

I want memory, man!! This stupid phone comes with only 147 MB of memory available for the user apps and data. I don't know what the hell they were thinking when they designed it.
In response to Izzy
This is the output of the mount command.
sh-3.2# mount
mount
rootfs / rootfs rw,relatime 0 0
tmpfs /dev tmpfs rw,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
/sys/kernel/debug /sys/kernel/debug debugfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /app-cache tmpfs rw,relatime,size=8192k,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mtdblock3 /system yaffs2 rw,relatime 0 0
/dev/block/mtdblock4 /cache yaffs2 rw,nosuid,nodev,relatime 0 0
/dev/block/mtdblock5 /system/data yaffs2 rw,nosuid,nodev,noatime,nodiratime 0 0
/dev/block/mmcblk0p2 /data ext4 rw,nosuid,nodev,noatime,nodiratime,commit=50,bar
rier=0,nobh,stripe=64,data=writeback,noauto_da_alloc 0 0
/dev/block/vold/179:1 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,u
id=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,iocharset
=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:1 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,relat
ime,uid=1000,gid=1015,fmask=0702,dmask=0702,allow_utime=0020,codepage=cp437,ioch
arset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
/dev/block/dm-0 /mnt/asec/se.fmckl.regnr-1 vfat ro,dirsync,nosuid,nodev,relatime
,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,shortname=mix
ed,utf8,errors=remount-ro 0 0
/dev/block/dm-1 /mnt/asec/com.fingersoft.benjibananas-2 vfat ro,dirsync,nosuid,n
odev,relatime,uid=1000,fmask=0222,dmask=0222,codepage=cp437,iocharset=iso8859-1,
shortname=mixed,utf8,errors=remount-ro 0 0
sh-3.2#

Output of the df command.
sh-3.2# df
df
/dev: 207168K total, 64K used, 207104K available (block size 4096)
/mnt/asec: 207168K total, 0K used, 207168K available (block size 4096)
/mnt/obb: 207168K total, 0K used, 207168K available (block size 4096)
/app-cache: 8192K total, 0K used, 8192K available (block size 4096)
/system: 256000K total, 213132K used, 42868K available (block size 4096)
/cache: 40960K total, 1388K used, 39572K available (block size 4096)
/system/data: 151168K total, 113812K used, 37356K available (block size 4096)
/data: 2064144K total, 444856K used, 1619288K available (block size 4096)
/mnt/sdcard: 28544368K total, 9550336K used, 18994032K available (block size 163
84)
/mnt/secure/asec: 28544368K total, 9550336K used, 18994032K available (block siz
e 16384)
/mnt/asec/se.fmckl.regnr-1: 3124K total, 1040K used, 2084K available (block size
 4096)
/mnt/asec/com.fingersoft.benjibananas-2: 33212K total, 30996K used, 2216K availa
ble (block size 4096)
sh-3.2#

Does this make any sense?

A:

I will try to answer my own question here. The short answer is: get a ROM that just works! (No, not a room, a ROM! Get a ROM!)
Here is the same screenshot image of the SD & phone storage menu, this time with a ROM called SuperNova. You can find an installation guide here.

As you can see from the image I now have 1.86 GB of internal storage space. No additional apps have been installed yet, except for some apps that came with the ROM, and the stock HTC apps that came with the phone.
How-to
You will need root and S-OFF before you continue. It's also possible to install this ROM with S-ON, but it will require some additional steps, for more details see the developers website. You will also need a custom recovery like Clock Work Mod (CWM) or 4Ext Recovery. The latter is recommended. You will also need to flash stock HBOOT, if you don't have that already. You will find the stock HBOOT on AlphaRev website.

Go to the download page of developers website.
Download "SuperNova 2.4.0.1 Extreme ROM". You will see at least three mirror download links. Here's one direct link to Dev-Host.
Power off the phone.
Enter HBOOT on the phone.
Enter recovery (I used 4Ext Touch Recovery).
Format and partition the SD card with one Ext4 partition and one FAT32.
Power off the phone and take out the SD card.
Mount your SD card to the computer.
Copy the Supernova_2.4.0.1_signed.zip file to the SD card.
Put the SD card in the phone.
Enter recovery and choose "update from zip".
Select the file above. This will now flash the new ROM.
Reboot the phone. First boot will take longer time than usual.
When you get to the setup wizard, skip setting up a Google account.
Reboot the phone. You will see a blue LED go and off. This means Data2SD is loaded and working.
Now you can setup your Google account and Wi-Fi, and what not.

Remember, complete installation instructions can be found here. That web page can be overwhelming, especially for newbies, which is why I tried to put it in a more condensed form here.
If you run into the "Download was unsuccessful please try again" message when downloading apps, this means that the app you're trying to download is too big and the Android Market cache is too small. This problem is covered in the FAQ at developers website, it's question 28.
The suggested workaround involves using Scriptmanager app and a script, and this must be done every time you reboot. But I have found that installing the latest version of Play Store (replacement for Android Market) manually solves the problem permanently.
Here's a short how-to on that too.

Download the APK file for Play Store.
Connect the phone to the computer. If prompted, choose to mount as
disk drive.
Copy the APK file to the SD card.
Disconnect the phone.
Go to menu, settings, applications, and enable unknown sources.
Start a file manager app (I used ES File Explorer, but ASTRO is good
too).
Browse to the file (/mnt/sdcard/) and tap it to open. You'll be
prompted if you want to replace a system app. Tap OK to continue.

