sudo alsactl store is always required to be ran before backup + reboot/shutdown, for the config file to be updated so the settings can be restored after reboot.
Sure you can take that route if it works for you.. My argument is that saving the alsa settings hasn't been the most successful plan (for me anyhow), so I don't take that route anymore. In fact I haven't made a backup of asound.state in a long time despite various complex hardware configurations and TC versions. After some research I found you can command a change to any alsamixer control via the command line, Including unmuting any control eg: master control, SPDIF additionally set the volume to specific levels, etc. etc. Typically I find that after allowing Alsa to configure itself on bootup there remains only unmuting a few specific volume controls, SPDIF channels and volume levels to get sound. All of this can all be accomplished reliably with a few commands run from ~/.X.d/alsa which is by far more reliable than hoping alsa will restore every custom setting, which appears to be somewhat temperamental in that department..
I'm not sure yet what other alsamixer controls the OP changed to get sound. However, this and a few similar commands for other controls resolves my dilemma and will probably resolve his issue too.
echo "amixer set "Master" 80 unmute" > ~/.X.d/alsaunmute
Obviously ~/.X.d/alsaunmute will be needing some persistence over reboot