I know I could test "Does this string have an extension?" with an if-statement, then if it does have an extension I can use
${var:e}
You can do that without the if-statement like this:
${${var:e}:+.$var:e}
If the string resulting from the expansion of $var:e isn't empty, substitute .$var:e. This uses the ${name:+word} expansion (man zshexpn says "If name is … non-null, then substitute word; otherwise substitute nothing.") at the second layer of a nested expansion.