When setting the panel to automatically and smartly hide, the whole screen space is used by xfwm4 to place any new window including the space that is usually used by the panel. This results often by getting the panel hidden when a new window appears. So there should be an option when setting the panel to smart auto-hide to make xfwm4 not to use its space when displaying a new window. Currently users can set a margin with a value slightly above the panel height through the workspace manager but it is not a convenient way.
The panel sets the struts, not the WM...