Hello again,
I think I've found a potential solution.
Both mine and Tim(1)'s solutions render the ScriptRegistrar in _Layout.cshtml like so:
However, if one removes the code block and the call to Render() like below, the problem is fixed. The javascript references are rendered (even when the element is only in the partial view) and the control works as expected. This is true for both my example solution and Tim(1)'s:
I have no idea why the code-block-and-render way doesn't work but this way does. Practically I guess the disadvantage to the this way is that you can't split the code over several lines to make it more readable.
Tim(2)