The way it works in dada2 is the forward reads are denoised and the reverse reads denoised separately (so the error model for each is consistent, e.g. its the forward-read error model across the full forward reads). Then reads are merged.
It’s a solvable problem, but also not entirely trivial, and we just don’t have the time to devote to it given how well the merge-later workflow works, including for ITS. If we get time (i.e. $upport) its something I’d like to revisit though because merge-first is more convenient for ITS in particular.