Just to reply to Josh, the problem you are describing isn't the problem I was having back then. I'm not sure if the issue is still around like I was having it, because these days my phone is on silent with the ringer being diverted to my watch.
The problem I was having back then was that the ringer volume setting/resetting worked fine most of the time. The ringer would reset to whatever volume I had set it to in either mode. ie, connect to bluetooth and it would remember the last bluetooth ringer setting, disconnect and it would return to my normal setting.
It would do this individually with all my bluetooth devices. ie, it remembered my headphone volume, car volume, portable speaker volume setting. Disconnecting from any of these would reset the ringer back to normal.
The problem I was having was that at random, but often enough to be annoying, disconnecting bluetooth would set the volume to a low value that didn't match any of my devices. And then I would miss calls.
It was the randomness that made it annoying because it was impossible to troubleshoot.
But you are correct, disabling change with buttons will stop it from happening, but you will lose the ability to adjust the ringer easily.