i donāt know of any jack configuration option that will reverse the order of the DAC ports.
i see two options.
option 1, change the behavior of the mixer client (c++)
there are three JACK clients involved. one is scsynth (2x2 I/O), one is softcut (2x2) and finally the main mixer client called crone (6x6.) only crone is connected to the ADC and DAC ports. (NB that softcut is owned by the same parent process as crone.)
each of the crone clients inherits from Client, which is a template class specialized by the I/O count and given a JACK name at construction.
the function Client::connectDacPorts() programatically connects the client outputs to hardware outputs. so you could hack that function.
looking now i notice that (1) this is already hacky - must have been a stereo client originally, (2) it should really just be a MixerClient method. so i should clean this up, such that the hack doesnāt involve the parent class methods.
if you use this option, it would be helpful to do it as an optional runtime flag for crone. that way other people can easily enable it.
option 2, re-route the JACK connections after launch (bash)
after all the clients are running, you can use the jack_connect and jack_disconnect utilities to re-route the connections. specifically i think it would be something like
jack_disconnect "crone:output_1" "system:playback_1"
jack_disconnect "crone:output_2" "system:playback_2"
jack_connect "crone:output_1" "system:playback_2"
jack_connect "crone:output_2" "system:playback_1"
but i am kinda guessing the exact port names at the moment. you can use jack_lsp to list them.
if you do use this option, i think the best place to execute it would be when the lua stack starts up - perhaps in your version of norns/lua/core/config.lua. this would ensure the crone process is already running.
and for completness,
option 3 - caveman
switch cables or rewire the PCB.