ASCII was designed from the start with usable subsets (for instance an uppercase subset representable with six bits, consisting of the four central columns) and international variants. SHARE (IBM users' group) insisted that all characters needed for PL/I, included the vertical bar, were present in the uppercase subset(*). That was solved by allowing
! to be represented as a vertical bar, and by breaking the vertical bar present in the international non six-bit subset (7C). Later a broken bar was introduced in the upper part of latin-1 (A6).
The usage of breaking the character 7C persisted, notably in the ROM fonts of early IBM PC (for instance this Wikipedia capture of the ROM font of a VGA card). And we have the current situation where some fonts are using the broken bar for 7C although they shouldn't (doing a google image search for "ASCII bitmap font" shows both usages). Fonts for Latin-1 or Unicode (which shares the definition of graphical characters with Latin-1) tend to keep with the official definition (I've not found any which does not when writing this, but I'm pretty sure that in the past I've seen fonts which showed a broken bar for 7C and a continuous bar for 6A).
Keyboards show the same variations as fonts. Some have the key intended to type 7C showing a broken bar, others an unbroken one (I've just looked at mine, all have the French layout you give but two have a non-broken bar, one a broken one on key 6).
* depending on sources, they insisted that it was in the non variable part as well