The implicit TLS submission port got deprecated for a brief time, but it's no longer deprecated.
Explicit TLS is a terrible idea and for that reason it's recommended to provide implicit TLS (submissions).
Server operators should (and do) provide both 486 and 587 in order to maximize the amount of secure connections to their servers.
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