A 32 bit app on x64 will get 4GB virtual address space but only if the application is marked as large address aware (it's a flag in the PE file).
The second part of your post is wrong. It seems you don't understand how address space works. On x86, each app gets 2GB user mode address space. This is totally independent from any other app on the system. It doesn't matter if you have a billion apps running, they all get 2GB address space and it doesn't matter how much RAM you have.
If multiple apps actually commit 2GB of RAM, then you would start to swap because not all of those committed pages from all the apps can be held in RAM. But that would happen on x64 too as well if you don't have enough RAM. The 64 bit address size, nor how the virtual addresses are mapped to physical addresses, have little influence on this situation, only how much physical RAM you have matters. Of course, on x64 you can have more memory so swapping wouldn't be needed if you have enough of it.
"with x64 the wow layer can allocate each x32 app it's own space out of the x64 address space."
That sentence just doesn't make any sense at all. Applications don't get allocated physical addresses, that is done on a per-page basis and is subject to physical memory availability.