You both are correct, possibly, and a partition without adjacent unallocated space is in a sort of a jail… but out of curiosity I did a few tests in the unallocated area of a spare disk.
The YaST-Partitioner refuses to move a partition with a filesystem already created (and possibly with data on it, but that shouldn’t matter) no-matter-what.
Whether this is intentional or not I don’t know, but what @karlmistelberger suggests makes sense.
GParted throws a series of frightening warnings, but in the end moves whatever you want to move if at all possible.
Interestingly, it moves even a “jailed” partition if it finds a way to order planned operations in a way that yields some adjacent unallocated space before actually moving that “jailed” partition, so that you can queue even operations that would be impossible on the layout you start from.
The apparent reason for that need of adjacent unallocated space is that a “move” operation is actually done as a “grow partition” - “move filesystem” - “shrink partition to the original size” sequence.
In a way, YaST-Partitioner is safer, GParted is smarter.
Glad I had the chance of refreshing my understanding of those tools.