According to O'Keefe [1,2], char_coversion/2 was a mistake.
For one, O'Keefe was not involved in the ISO process. Nevertheless, in preparation of Cor.2 his pllib-page got its own column [1].
He did, however, pioneer many language features much before actual standardization took place. In fact, his 1984 Draft Proposed Standard for Prolog Evaluable Predicates [2] not only included logically correct definitions for many built-ins like functor/3, but also proposed call/N for the first time.
As for char_conversion/2 and related features, these were meant for specific character sets, "for example" Japanese JIS. On CNC machines with barely any operating system present - except the Prolog which was the operating system. To my understanding, it is of less use for, say, code development in general.
For its current support by actual implementations, there is IF/Prolog, GNU and SICStus. Other implementations do some hearsay-ish implementation, if at all. Supporting it with a JIS PCS (Processor Character Set) does make sense, and definitely on those machines. In any case, the two built-ins, and the name of the Prolog flag all are taken "forever".
?- current_char_conversion(a,a). % 8.14.6 true, unexpected. % in SWI false. % 8.14.6.1 (2) which reads
and (2) `In_char` is not equal to `Out_char`.
[1] https://www.complang.tuwien.ac.at/ulrich/iso-prolog/built-in_predicates
[2] https://www.complang.tuwien.ac.at/ulrich/iso-prolog/#pllib