It obviously didn't prepend (I tried append too)
Note that there are two DHCP options for this: domain-name (which contains one domain suffix and is also used for slightly different purposes) and domain-search (which contains multiple suffixes).
I suspect your current value "us-west-2.compute.internal" actually comes from the domain-name option, and domain-search is actually empty. So when you prepend or append to it, dhclient sees that both options are now set, and ignores domain-name (as it's older and more limited).
So you'll need to either manually list both domains, or alter the resolv.conf generation step. For example, many distros use resolvconf (aka openresolv) as an intermediary tool which generates resolv.conf from several sources, and it supports a search_domains_append= option to add custom suffixes on top of DHCP data.
It also didn't put the domain in correctly (see the period at the end).
No, that's still correct. A trailing period indicates a fully-qualified domain name (just like a leading slash would indicate an absolute path). When you try to resolve a domain which doesn't have trailing period, the OS may try appending all search suffixes to it. (Yes, even if the name already consists of multiple components!)
Of course, in the search list itself, the trailing dot changes absolutely nothing. But since the idea of a search list is "if you append this, you'll get a fully-qualified domain", some people find it quite logical to put fully-qualified suffixes in search. (Or maybe they're just being pedantic.)