You need to set the ADC trigger to TRGO, enable2 continuous dma requests and DMA circular mode, peripheral to mem, configure a timer for 100KHz and select TRGO from update event.
Now, when you start the timer the ADC will also sample and store samples at that frequency.
Use the dma half-transfer and transfer-complete interrupts to take care of your buffer.
For the dac, configure another timer for 10KHz, set DMA in non-circular, non-increase mode, mem to peripheral, src address pointing to the ADC->DR and dst to the dac, that way it'll take the last ADC conversion available without requiring messing with the buffers.