DELETE index command returns varying JSON objects

(ES 8.6.2, W10)

In Insomnia, when I try to delete an non-existent index, using command DELETE and url https://localhost:9500/my_test_index, I always seem to get a JSON object like this:

{
	"error": {
		"root_cause": [
    ...
	"status": 404
}

Similarly when I do the above in Python, using requests, I get the above response.

But when I run a reqwest request (in Rust) doing that same request I sometimes get the above but often get this:

{
    "acknowledged": true
}

The reason I'm doing this is to delete the index if it exists. Either 200 or 404 would therefore be acceptable status codes. But if I get "acknowledged", true or false, I don't know what that means: it's true even if the index doesn't exist.

This is all happening on a local machine, with one shard. At the current time there are no other indices in my shard. When I create this index, it has a yellow status. So my server/shard seem to be healthy enough.

Can anyone suggest why this might be happening? Might "acknowledged" mean in this case that the server is busy (on a previous command)? Is it possible that Rust's reqwest code works faster than Python?

It seems I'm unable to edit this post.

If I get this { "acknowledged": true } and then repeat the command (whether or not after waiting for 1 ms), it seems that I always get the expected type of response (with "status" key) on the second attempt.

It's funny how this only seems to occur using Rust, not Python. I wonder what the explanation can be. Reading around I see some stuff about "nodes" possibly taking time to respond in the kind of way you expect. Quite strange: would like to know if an expert can suggest what might be going on.