So you got me thinking more about this over lunch
So I believe the custom chip sits between the CPU data bus and everything else (or at least main RAM and ROM). When the M1 signal from the CPU is high it just passes through the data. When the M1 signal is low it swizzles D1-D3 to be D5-D7 and vice versa. Thus the opcode are 'decrypted'.
If you were really set on fixing this, you could do 3 things:
1: Just making a pass-through in the custom chip socket, and then make a custom ROM with the opcodes already decrypted. (Which is a bit harder than it sounds as you'd have to trace all program paths).
2: Make a sub-board containing another set of program ROMS and put it in the custom chip socket. This set of program ROMs is entirely swizzled D1-D3/D5-D7 (for opcodes). When M1 is low you select the 'opcode set' else select the regular set.
3: Burn a PAL/GAL from the MAME bootleg set and make the connections above (you can clearly see the swizzle and D0/4 being passthrough).
Got all that?
(Edit - no, don't do number 2 - instead make the passthrough, put in double size program ROMs, put standard in bottom half, and decrypted in top half - then use M1 to drive the high address line).