@nrudnyk Consensus has been achieved in https://github.com/w3c/webextensions/issues/1101, to make action.setIcon({}) also reset the action icon.
As for action.setIcon() and action.setIcon({path: ''}) no clear behaviour has been defined yet. However current browsers reject action.setIcon() while generally action.setIcon({path: ''}) resets the icon in some form. as can be seen in this table:
https://github.com/w3c/webextensions/issues/1101#issuecomment-5910281552