Hi mouse, There have been several changes to the audio interface over the years. In particular, I would describe the pause, port, gain, and balance fields as "legacy compatibility". These provide a simplified interface to the mixer(4) interface which may not provide a perfect match (or do what you expect) with complex audio hardware like a modern hdaudio(4) device. The primary gain control might not be the one currently responsible for output volume depending on the various DACs available.
If you want to adjust the playback volume of the audio device, I'd recommend doing it through the mixer interface instead (or simply with mixerctl before the application runs - modifying the user's mixer settings Considered Rude).