You will most likely want to have two separate connectors for the high-speed and fault-tolerant CAN. To use the same connector seems like asking for trouble, because of the different voltage levels. Especially if you are going to have some sort of noise filter with diodes etc, you might need to implement two different ones. So don't mix the CAN Hi and Low lines from the 2 different transceivers.
If you have the option to pick a MCU with 2 CAN controllers on-chip, that would probably be a good solution.
If not, you would have to pick which transceiver that should be active in runtime. The easiest way is probably to switch the data lines on the CPU side from one transceiver to the other. Between the CPU and the transceiver you've just got plain digital logic, so you should be able to use any kind of demux for it. It shouldn't affect any of the two buses.
(Using relays to switch high-speed communication data lines is never a good idea: they are far too slow and you get various electromechanical issues that you have to compensate for with filters.)
Important: the transceiver which isn't active should be left "hanging", because the transceivers internally pull the signal to the passive voltage when there's no data traffic. So don't go add pull resistors anywhere or you might mess up the external bus communication on the transceiver which isn't active.
But that's really an ad hoc solution. You should only consider it if you are forced to used some particular MCU with just 1 CAN controller.
If using a modern CPU is an option, you could perhaps consider the LPC11C22 Cortex M0 with a built-in high speed CAN tranceiver. If you had that MCU you could enable the high-speed CAN when needed, or keep it disabled and use the external fault-tolerant one instead. Minimal BOM.