I have tested all 3 code variations that you included in your bug report #2389 using:
Python 3.10.6 + wxPython 4.2.0 gtk3 (phoenix) wxWidgets 3.2.0 on Linux Mint 21.1
[Linux Mint 21 is based on Ubuntu 22.04]
All 3 variations performed as I would expect. Each time I clicked the button, the frame moved to the right by 50 pixels.
Most of my own applications store the positions and sizes of their top level windows in config files when they are closed. When the applications are restarted, the positions and sizes are read from the config files and applied using
SetSize() calls. This works fine on linux, except for the case where the position is
(0,0) as described in the bug report #2214 that you linked to in your bug report.