There are two main differences here.
1. The scope of the change. My understanding is that Elasticsearch may use Lucene under the hood, but extends it in ways and for use cases that Lucene was not designed for. The same can not be said about AWS taking Elasticsearch and running it as a drop-in replacement.
2. Perhaps most importantly, Elasticsearch didn't build on top of Lucene, and then decide to call itself Lucene. If you think there is so little differentiation between the product you built and the product you built off of, that you are better off highjacking the name, then I question if you made any meaningful differences.
3rd BONUS difference: It is my understanding that a large part of the core Lucene team works at (or at one point worked at) Elastic[0].
2. Amazon adds value here by providing hosting solutions for companies using the elastic search software. So it makes sense to call it "Amazon Elasticsearch Service" since that's what it is. I think interpreting this as Amazon built a new competing product but calling it the same name is not the right interpertation. If that's confusing then maybe modifying it to "amazon elasticsearch hosting service" would be the OK thing to do. Not sure if that would make Elastic happy.
3. That's nice of them (really!). Sounds like win-win. But again, it doesn't make anything they do more justifiable.
No one is asking Amazon to share profits with Elastic. Many people do expect Amazon to honor trademarks of other companies. Many people expect Amazon not to package proprietary features as if they were free and open source.
Lucene is a library that makes it easier to provide indexing and searching of "stuff". It's not a commercial product with a sales and consulting team. I can't think of a more apples and oranges comparison.
Elasticsearch is a name of an open source project. Why is calling something "Amazon Elasticsearch Service" a trademark issue? It's not Amazon's fault they called their company after the name of an open source software (the OSS came first btw). Also, IMHO calling it "Amazon Elasticsearch Service" is fair since it represents exactly what it is. Would it better if they instead took the code, made some closed modifications and then released a service around it with a new name? My thought is no.
This isn't unusual, many other open source projects trademarked the name of their project. Google has some guidance on why a project might want to do this.
https://google.github.io/opencasebook/trademarks/#unmanaged-...
Here is a list of open source projects whose name is trademarked by Canonical.