Firstly the TTL for a NXDOMAIN
should be conveyed via an SOA record in the AUTHORITY SECTION
of the reply. See my answer to How long does negative DNS caching typically last? for details.
Regarding the question about seeing a decrementing TTL on subsequent queries. I believe this is an DNS server implementation detail.
In my testing I have observed that some recursive nameservers do not return an AUTHORITY SECTION
with a SOA record with a decrementing TTL for subsequent requests whereas others do.
For example the cloudflare resolver does (note the decrementing TTL value):
$ dig nxdomain.serverfault.com @1.1.1.1 | grep 'AUTHORITY SECTION' -A 1
;; AUTHORITY SECTION:
serverfault.com. 674 IN SOA ns-1135.awsdns-13.org. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
$ dig nxdomain.serverfault.com @1.1.1.1 | grep 'AUTHORITY SECTION' -A 1
;; AUTHORITY SECTION:
serverfault.com. 668 IN SOA ns-1135.awsdns-13.org. awsdns-hostmaster.amazon.com. 1 7200 900 1209600 86400
While the default resolver in an AWS VPC will respond with an authority section only on the first request:
$ dig nxdomain.serverfault.com @169.254.169.253 | grep 'AUTHORITY SECTION' -A 1
;; AUTHORITY SECTION:
serverfault.com. 300 IN SOA ns-cloud-c1.googledomains.com. cloud-dns-hostmaster.google.com. 1 21600 3600 259200 300
$ dig nxdomain.serverfault.com @169.254.169.253 | grep 'AUTHORITY SECTION' -A 1 | wc -l
0
Note that an authoritative server should always return the full TTL which should be the lesser of the SOA.MINIMUM field and the TTL of the SOA record itself. You will only see a decrementing TTL in answers from a recursive (caching) nameserver.
Also note that when querying recursive servers you will often be hitting a load balancer and consequently you will get divergent answers depending on which load balanced server you happen to be hitting.