The custom chips won't have to access > 2MB, that's the whole point of the memory map. The only thing that would change is the memory itself, but still located at the same memory address.
The only thing that you would do is to switch between maps whenever Paula or Denise has access to the databus / address bus. The switch can be taken from the tri-state of Paula/Denise. This would indicate whether Paula or Denise has access to the datalines
So lets assume I allocate 32KB of chip memory. I get it from address 0x002fc238.
Next I poke in some sample data, and then I write the memory pointer to aud0ptl and aud0pth. Lower 16bits (ptl) is assigned 0xc238, and the upper 16bits (pth) 0x002f. I start DMA.
But instead of playing the sampledata I wrote, the hw actually plays whatever is in chip memory at location 0x000fc238.