Syncing the Outliner's blue highlight from python?

If I click on an object in the 3D Viewport then in the Outliner the object’s text changes to orange and its row gets a blue highlight.
If I deselect the object in the 3D Viewport (such as clicking on empty space) then the text changes back to white and the blue row highlight is removed.

All normal so far.

But if I run select_set(True) on the object then only the text changes color in the Outliner. There is no blue highlight for the object’s row.
select_set(False) will leave intact a blue row highlight (if one existed) even though the object is no longer selected and the text has changed back to white.

So select_set() has no effect on the blue row highlight either way. Is there a separate operator that controls this or does the implementation of selection sync only work with mouse interaction in the 3D Viewport but not when you select things via python?