You are correct the, DSP is a separate processor within the CSR8675. It has its on program and data memory.
All image are taken from the linked datasheet.
The DSP (Digital Signal Processor) is a dedicated processor. It has additional hardware units, parallel instruction execution support that gives you a better platform with better performance to process audio, video and such signals where huge amounts of data has to be processed in short time. Check the link for more details.
The audio handling part of your software should be implemented on this processor.
The MCU is a more general unit, the datasheet calls it "application processor". It is used for the higher logic of your application. While the DSP handles the audio signals, general thing such as LED driving, capacitive sensing and USB connection can be handled by this MCU.
The BlueCore® CSR8670™ BGA consumer audio
platform for wired and wireless applications integrates
an ultra-low-power DSP and application processor
with embedded flash memory
As for the firmware and VM. Page 104 gives you a comprehensive figure of the software.
The firmware means the whole software of the device and consists of different parts.
- On-chip software on the MCU by the manufacturer. This can be for example the BT stack, just as you suspected.
The internal MCU runs the Bluetooth stack up to the HCI.
- Applications on the MCU (in the VM) by you. The VM is the environment where your application software can be placed within the MCU's program memory.
The software layers for the application software run on the internal MCU in a protected user-software execution environment known as a VM
- DSP Application, again by you just on a separate unit.
DSP application code runs from the DSP program