@ character in
iskeyword includes all characters for which
isalpha() (C function) is TRUE; in modern (last 20 years) libc implementations this also looks for unicode characters.
97-122 (a-z) and
64-90 (A-Z), which doesn't include all the variants with the various diacritics (such as the umlaut/diaeresis/trema).
So the solution is to replace
iskeyword comes from the LISP syntax file; the
rst syntax file includes a bunch of other syntax files for highlighting the code blocks.
Luckily you can set which languages to include with the
g:rst_syntax_code_list variable. The default is:
let g:rst_syntax_code_list = ['vim', 'java', 'cpp', 'lisp', 'php', 'python', 'perl']
Since it's unlikely that you need LISP syntax highlighting in your reStructuredText file, you can probably just remove it. Just add it anywhere in your vimrc file, if it's defined, the syntax file will use that value instead of defining its own.
In my opinion, you probably want to use:
let g:rst_syntax_code_list = 
Because who knows what funky side-effects the other syntax files cause...