To get all native applications:
Get-AzureADApplication -All:$true | Where-Object { $_.PublicClient -eq $true } | FT
To get all web app/API applications:
Get-AzureADApplication -All:$true | Where-Object { $_.PublicClient -ne $true } | FT
You may be able to filter by grant_type but I don't believe there's a way to just list the grant_types for all applications or service principals.
Through a combination of Get-AzureADApplication and Get-AzureADServicePrincipal you should be able to filter for many of these properties. https://learn.microsoft.com/en-us/powershell/azure/active-directory/list-service-principal-application-roles?view=azureadps-2.0
For SAML apps though, I am not sure that there is anything available in Powershell for retrieving the specific properties you listed. Though there do appear to be some custom PHP solutions online though. As mentioned in the thread you referenced, you can use this to list all of your Azure AD authenticated SAML apps:
Connect-AzureAD
$type = "SAML APP"
Get-AzureADServicePrincipal -All $true | Where-Object {($_.Tags -contains "WindowsAzureActiveDirectoryGalleryApplicationNonPrimaryV1") -or ($_.Tags -contains "WindowsAzureActiveDirectoryCustomSingleSignOnApplication")} | Select DisplayName, @{Name="AppType"; Expression={$type}}
For your question about your Salesforce app, could it be that you used the non-gallery feature to configure the app so that it has both "WindowsAzureActiveDirectoryGalleryApplicationPrimaryV1" and "WindowsAzureActiveDirectoryCustomSingleSignOnApplication" applied?
I am checking with the product team to see if there are better ways to query some of the properties you mentioned.