I think these are known bugs, as shown in https://github.com/D-Programming-Language/phobos/commit/5cf3d7dd, but just not yet put into bugzilla.
1. Template string parameters are not escaped.
----------------------------------------------
///
template f(string s="$(RED red?!) )"){}
void main(){}
----------------------------------------------
The macro and the stray parenthesis are pushed as-is.
2. The '$' disappeared in '$(' and '$)' in function default parameter
---------------------------------------------------------------------
///
void f(string s="$(", string t="$)"){}
void main(){}
---------------------------------------------------------------------
The generated HTML wrongly reads 'void f(string s = "(", string t = ")");'.