It is precisely security by obscurity, it only helps against attacks one would not need to worry about in a well administered system. All the drive by traffic on port 22 is just trying to log in with absurdly simple passwords and two or three usernames, and if you have to worry about these, then you should set up public key authentication, not try to hide the port. And as a matter of fact, a
nmap -A -p- target.tld
will easily identify whichever port you have selected.
nmap -A -p- target.tld
will easily identify whichever port you have selected.