Thank you for taking the time to look at this. I got it working but had already started on my solution before your most recent reply.
I ended up adding this ending to all of my concatenated barcode fastq records: 3:N:0:1. This is very similar to what you suggested (add 1:N:0:1 to the barcodes header line so it matches the R1 reads).
I saw a reference to barcode R3 files in this post https://forum.qiime2.org/t/clarify-on-demux-emp-paired/5565 which mentioned
(barcodes should be in R3 ). It will use the order of R3 to work out which sequences from R1 and R2 belongs to which samples.