This is a bug I fixed in 10.4.0.  Sorry for the inconvenience!  To work around it in earlier versions, evaluate the following block of code:

    InactiveDump`assembleInactiveSumProduct[{args_, disp_, interp_, char_,
        tag_, tooltip_, fmt_}] := 
      TemplateBox[args, tag, DisplayFunction -> Function[disp], 
        InterpretationFunction -> Function[interp], SyntaxForm -> char]

The `SyntaxForm` which specifies precedence for parenthesization was missing before 10.4.0.