Yes, I believe it stems from the trailing dot being the standard DNS notation that signifies a fully-qualified-domain-name (FQDN). In a BIND-compatible zone file, any name without a trailing dot is relative to $ORIGIN.
Similarly, the same goes for resolv.conf, where, if it contains search online.net, then instead of going to console.online.net., you can simply go to just console (OTOH, going to console. won't work, as such root zone doesn't currently exist (I know — I was actually very surprised myself that no registry has taken up such an awesome TLD zone yet ^_^ — although even if it did exist, it'll likely not have an A record anyways)).
As such, the trailing dot is automatically removed from the string that is deemed to be the host, as per nginx server name regex when "Host" header has a trailing dot, which, for correctness and completeness sake, must happen prior to the execution of the regex within the context of the server_name directive, hence, the trailing dot will never match.