I've got the boards. I decided to start with CH32V203, since it might have a standard SWD interface. And so far I'm not making a lot of progress.
It does appear to be similar to SWD, since after the link reset sequence, reading IDCODE register ends with a status 0 (invalid), and any followup transfers end with device not driving the bus at all. And if the first read is not IDCODE, then it also ignores them. Ignoring is normal, SWD protocol requires IDCODE read to finish interface initialization. But the invalid response is not normal.
And repeated link reset actually resets it back to returning the invalid status, so it recognizes that sequence in some way as well.