This code works:
<Image.ToolTip>
<ToolTip Content="{Binding ToolTipText}" ToolTipService.InitialShowDelay="10">
<ToolTip.Visibility>
<MultiBinding Converter="{StaticResource TTVisConv}">
<Binding Path="ShowToolTip"/>
<Binding Path="ToolTipText" />
</MultiBinding>
</ToolTip.Visibility>
</ToolTip>
</Image.ToolTip>
On this post suggested in the comments, they explain that ToolTip/Popup/ContextMenu are drawn on another window that shows on top of the main one, thus having a different visual tree; this means that ElementName and RelativeSource can't be used in this case, as they'd search the ToolTip's visual tree and not the main one, finding nothing. That's why it wouldn't work.
I'm not sure why the ToolTip can still access the main windows's DataContext despite being on a different window, but I'll leave that for another question.