Can you get different results from replica and primary if queried at the same time?

Based on what I can find, delete operations should follow the same model as writing documents. Therefore, you shouldn't get a successful response when deleting until all in-sync replicas have acknowledged the delete. Elasticsearch should only search in-sync shards.

Something you might be running into is shard refresh delays, where one shard might've refreshed and removed the document from search, while the other shard might not have refreshed yet, and still have the document available for search. This thread goes into the topic a bit more.
You might want to try passing the refresh=true query parameter on the delete request to see if that helps resolve what you're seeing.

3 Likes