Currently Obsidian threats all codeblocks in the same way. This has some quirky side effects. It would be better to distinguish between code-containing codeblocks and text-containing codeblocks (ala admonition).
In text codeblocks, markdown auto-pairing should be enabled, suggestions should be enabled (tags, links), and linked and unlinked mention should be picked up.
In code codeblocks, markdown autopairing should be disabled, markdown suggestions should be disabled (tags, links), and linked and unlinked mention should not be picked up.