Since Deselect is a UI item it wasn’t given an undo - since users can change the selection in between the action and the undo, for instance. Further undos will still correctly undo the prior actions as current selection does not affect undo, but meanwhile you cannot count on undo to restore the exact UI state, only Game state.
Sorry, I meant to come back on this earlier; it’s not Deselect / Select that is the (potential) issue:
The Deselect traits allows a piece to be detached from the stack - very handy, but attachment to stack is a game state effect, is it not? That is the UnDo issue, I believe.