To me this feels like a bug. Obsidian could check that if there is [[ open when a | character appears in a table, the | character should be considered to relate to the [[ link element, and not to the table structure.
Escaping the | character seems like a workaround to me, not an actual solution . (But good that at least a workaround exists already).