Running poweroff
is one of the correct ways on anything Systemd (details). If that doesn't work then something is broken.
If you haven't done so already try looking into the journal. sudo journalctl -b -1 -e
will take you to the end of the log for the last boot.
Reading "What is the difference between Halt and Shutdown commands?" , I generally have an idea what does the command shutdown does, with or without -h/-r options. The "halt" command performs po...Unix & Linux Stack Exchange
SystemCTL systems need to use: "systemctl shutdown".
Not sure if openSUSE uses it.