Isn't 465 safer since 587 uses STARTTLS and STARTTLS can be downgraded?
Technically yes, but for the last decade I've seen only one instance where 587 was explicitly STARTTLS (Fastmail), everyone else just running TLS on it.
a) you need a plain-text aka telnet client for this
b) if you receive a valid, human-readable text then it means what you are not on TLS for sure
c) if B succeeds that doesn't means what that SMTP server support STARTTLS, you should check options and try to initite it , eg:
220 smtp.fastmail.com ESMTP ready
-> EHLO just.testing.things
250-smtp.fastmail.com
250-PIPELINING
250-SIZE 71000000
250-ENHANCEDSTATUSCODES
250-8BITMIME
!! 250 STARTTLS
-> STARTTLS
220 2.0.0 Start TLS openssl s_client -starttls smtp -connect smtp.gmail.com:587
openssl s_client -connect smtp.gmail.com:465