I've a laptop with optimus (Intel + NVidia card).
When I use only the Intel card, xfwm4 (Debian package 4.12.3-1) correctly place my new windows on a free place. If I have several monitors (internal display panel + external VGA for example), a new window is placed on a free zone of the monitor where the mouse is. It is fine.
However, when I switch on my NVidia card (in order to be able to use the HDMI output), window placement does not work anymore. More precisely, I use the following commands:
xrandr --setprovideroutputsource nouveau Intel
xrandr --output VGA1 --off --output VIRTUAL1 --off --output DP-1-1 --off --output DP-1-2 --off --output DP-1-3 --auto --primary --output eDP1 --auto --pos 2560x320
The first command enables the NVidia card and allows the Intel driver to copy data in nouveau buffer to be displayed on the HDMI monitor.
The second command switch off all outputs but the HDMI one (DP-1-3) that will be the primary display and the internal display panel (eDP1) that is placed on the right of the HDMI one.
Then, when the mouse is on the internal screen (eDP1), window placement works correctly.
Then, when the mouse is on the HDMI monitor (DP-1-3), all new windows are placed at the center of this monitor.
To repeat, if I use VGA1 (managed by the Intel hardware) instead of DP-1-3 (HDMI managed by the NVidia card but linked by the xrandr command to the Intel driver), then window placement works correctly on both monitors.
With DP-1-3, window placement works correctly only on the internal display panel, but not on the HDMI monitor.
I do not know what xfwm4 find different between these two situations but it should behave similarly.
Smart placement is triggered only when the window size is large enough as compared to the overall screen size.
By using a larger screen size (which also depends on the actual monitor layout as screen size includes all monitors), chances are your window appears smaller comparatively to the overall screen size and xfwm4 choose not to apply "smart" placement.
This is configurable though in xfwm4-tweaks-settings.
Sorry Olivier, I missed your comment. But you were right, so I'm closing this bug as invalid.