Letting the ISR send data via SPI wasn't let the counter reset immediately. Instead, update the value to be sent and let the main while() loop handle it, so the counter can be counting while the value is sent to the DAC.