When I had a similar set of symptoms (just happened randomly at idle, but nothing touched mechnically beforehand), it was a broken valve spring. $$$ fix (but I think they charged me for taking off the head but they didn’t do that or shouldn’t have needed to).
When one cylinder is lost, it can cause timing issues in other cylinders, so not surprising to see multiple cylinder misfire codes when it’s only one bad cylinder.
But could still be an injector or frayed wire.
Like another said, a compression test will tell you a lot at this point.
Did it happen immediately following the initial plug and coil swap, like, right from the first start post-swap, or did it run fine for a bit (even minutes) and then it started?
if that is your problem. Cost me CAD$2300 from the Indy shop that did the repair (which I didn’t have any previous relationship with).
Probably more now. That was early in the pandemic when most people stopped driving.
Other costs were bmw dealership’s misdiagnosis and wrong part replacement recommendations (don’t go to a dealership, they’ll tell you to replace spark plugs and coils because they’re idiots following their flowchart).
I figured the next proper step was a compression test, which the Indy did but the dealership did not. I did the same as you: swap coils and plugs around and if the problem stays in the same place, the coils and plugs are fine.