"Priority only" as default mode - Marshmallow When I try to change the "Notifications mode" using the volume key, it always defaults to "Alarms only" mode, but I would like this to be set as "Priority only".

I know I can swipe down to access "Do not disturb" and set the "Priority only" mode but I want to do it with volume keys

Is there any way to set "Priority only" as default mode when using Volume keys
Alarm mode  is activated when Vol is decreased progressively reaching silence first, next vibrate and on further decreasing the volume (watch closely and you would notice these steps). OP has clarified that this the behavior expected except that desired end mode should be Priority mode instead of Alarm mode
Since we are talking of changing the default behavior of OS, one way could be to root the device and tweak or use an app. automation may be preferred option, since it doesn't involve rooting &amp; modding. Many apps are available. I prefer using MacroDroid , since it is free (upto 5 macros) and easy to learn. To understand how MacroDroid works and required settings (app guides you through the settings - make sure from the app settings you activate ignore battery optimisations, my answer here. The drawback of automation approach is that it won't perfectly replicate the expected behavior and has snags, which are mentioned at  end
You would need two macros for this
First macro would look like this (Triggers / Actions / Constraints are added by +)
Macro : Vol Silent / Vibrate (name of macro )
Trigger : Volume Button Pressed → Volume Down → Update Volume
Actions:

Set MacroDroid Variable → New Variable →Create New Variable→ Give it any name (here ring) and set type to Integer → Set (variable name) → Value = 0

If Clause → Conditions + → Ringer Volume → Vibrate or Silent . Press this If clause and choose Add Child Action. Next,  Set Macrodroid Variable,  choose the variable name (step 1) and set it to 1


Constraints:  No Constraints
Logic: We need to identify when silence or vibrate is reached by Vol Dn  . In the first action we named a variable and set it to 0 and in the second action, we set a flag (MacroDroid variable =1 ) to indicate that silence or vibrate is reached. Not specifying any Constraints means we want the macro to always run
In the next macro, we make sure that if the Volume is further decreased from silence or vibrate state, we set it to Priority Mode. To ensure that it happens only when this state is reached, we use the flag as constraint and re-initialize the variable to 0
Macro : Set Priority Mode (name of macro )
Trigger : Volume Button Pressed → Volume Down → Update Volume
Actions:

Set Priority Mode → Priority

Set MacroDroid Variable (name you chose, here it is ring) → Value = 0


Constraints:  MacroDroid Variable (ring) → Value = 1


OK , I had mentioned that it isn't perfect, mainly because you are trying to override default OS behavior without rooting and modding. So, here are the glitches :

If you pause decreasing volume on reaching Silence / Vibrate, or if you are on vibrate and decrease volume further - it won't work

Sometimes , even if you decrease volume smoothly without pausing, you would still see Alarm mode instead of Priority mode. Reading the app logs indicates that this is because both the micros require a few milliseconds to kick in and by then OS has done it's job !  Workaround is to increase the volume a bit and then decrease it, maybe a couple of times allowing the app to do it's job

From Priority Mode, when you increase the volume, it still displays the same status (unlike in alarm mode) , so you need to manually click End Now