A complex system that works is invariably found to have evolved from a simple system that worked.A complex system designed from scratch never works and cannot be patched up to make it work.
I don't understand why you want to give the isolation barrier, which should be a part of the programmer, to the customer. anyway Since it works bidirectionally, the SWIO pin is the most problematic pin to isolate. I believe you can find something useful if you examine I2C isolators.