I have had this problem, too. The reason why they don't show up in PowerShell is the missing Scope, those feature are orphaned, indeed. We cannot use -Site
parameter. What you can is to list it in PowerShell without -Site
parameter and filter out those without Scope:
Get-SPFeature | ? { $_.Scope -eq $null }
This will give you a complete list of orphaned features.

Now you have to find your feature and delete it. You cannot use Id for getting your feature, neither use Unistall-SPFeature cmdlet with Id:
Uninstall-SPFeature : Cannot find a Feature object with Path or Id: a4d208a3-b4fa-4bca-bb34-be4d30156b63 in scope
Local farm.
At line:1 char:1
+ Uninstall-SPFeature a4d208a3-b4fa-4bca-bb34-be4d30156b63
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidData: (Microsoft.Share...ninstallFeature:SPCmdletUninstallFeature) [Uninstall-SPF
eature], SPCmdletPipeBindException
+ FullyQualifiedErrorId : Microsoft.SharePoint.PowerShell.SPCmdletUninstallFeature
The workaround is to use the DisplayName to get the spfeature (actually SPFeatureDefinition) and then delete it.
$feature = Get-SPFeature | ? { $_.DisplayName -eq "My_Orphane_Feature" }
$feature.Delete()
I have tested this code and it has worked for me.
You can even use this code to clean all the orphaned features:
Get-SPFeature | ? { !$_.Scope } | % { $_.Delete() }
This line of code gets all the orphaned features and removes them.
BUT be extremely careful with this " Get-SPFeature | ? { !$.Scope } | % { $.Delete() }" as in some cases it removed the Farm Features in Central Administration which is a big issue only running the configuration wizard helped.