You won't be able to retrieve Kerberos tickets for the shared ad.server.fqdn
alias – only the individual DC FQDNs are known to the Kerberos KDC, and they are not interchangeable (each has its own Kerberos keys). So normally you'd need a two-step process: first look up the DC names via DNS SRV records, then tell ldapsearch to query a specific DC by its name.
For example:
dig +short -t srv _ldap._tcp.ad.example.com
ldapsearch -H ldaps://dc01.ad.example.com -Y GSS-SPNEGO
(...I admit that I don't exactly remember whether Active Directory creates _ldap._tcp
SRV records by default – though I do have them here with Samba – or whether you have to look at _kerberos._udp
instead.)
Using the shared alias may sometimes happen to work due to Unix Kerberos performing canonicalization via reverse-DNS, but it's not something to rely on – when you have more than one DC behind the alias, it may often happen that libldap connects to server A, yet requests tickets for server B. (Whenever that happens, you get mysterious "KRB_AP_ERR_MODIFIED" errors, which really just means "key mismatch" in this case.)
Besides that, Windows doesn't do rDNS-based canonicalization at all, and Linux distros have started disabling it as well (although libldap forcefully re-enables it...), and the IP-based TGS-REQ in your logs indicates that you don't have working rDNS anyway.
Note that in most distributions, the system-wide Kerberos library is provided by MIT Kerberos whereas Samba's tools such as 'ldbsearch' are built against [its vendored copy of] Heimdal Kerberos, so the two may have slightly different behavior regarding name canonicalization.