I'm using threeparttable to add table notes to a tabu tabular*. A common use case is to have a note at the end of a cell. If the note is however not added to a cell's last word, the following space is swallowed.

It's possible to add an \hspace after the note, as can be seen in the third row. Also, as a global workaround, one could add a space to the \tnote command's definition:
\renewcommand{\tnote}[1]{\protect\TPToverlap{\textsuperscript{\TPTtagStyle{#1}}}~}%
The former solution is somewhat acceptable, the latter rather hackish. Is there a better way of achieving the standard \footnote behaviour of not swallowing spaces?
\documentclass{article}
\usepackage{booktabs}
\usepackage{tabu}
\usepackage{threeparttable}
\usepackage{xpatch}
\makeatletter
\chardef\TPT@@@asteriskcatcode=\catcode`*
\catcode`*=11
\xpatchcmd{\threeparttable}
{\TPT@hookin{tabular}}
{\TPT@hookin{tabular}\TPT@hookin{tabu}}
{}{}
\catcode`*=\TPT@@@asteriskcatcode
\makeatother
\begin{document}
\centering
\begin{threeparttable}
\begin{tabu} to .4\textwidth {XX}
a & b\tnote{*} and c \\\toprule
1 & {2\tnote{*}}{~and 3} \\
4 & 5\tnote{*}\hspace{1.5ex}and 6 \\\bottomrule
\end{tabu}
\begin{tablenotes}
\footnotesize
\item[*] The table note.
\end{tablenotes}
\end{threeparttable}
\end{document}
(*) That's possible thanks to a patch by @egreg.