Finally fixed this (altho in a hacky way), just commenting for anyone in the future.
renpy.substitute ensures if you have a variable like elf_name that it doesn't get auto marked up, but also means if you say, had text like "I see you are a [player_ancestry]!" it would recognise player_ancestry as elf/dwarf etc for the tooltip.
My hack for getting around this substitute also removing all the escapped characters and leaving "[[ ]" as just "[ ]" and throwing errors in this update is... to just re-escape any "[" that are lying around.
Sorry for the very late actual fix, glad you got it working for you and hopefully this fixes things for future folks!