If you set router.field on your collection to shard by something other than the ID, then deleting documents by ID fails some of the time (how much depends on how sharded the collection is). I suspect that it'd work if the IDs provided when deleting by ID were prefixed using the composite key syntax – "routekey!id" though I didn't check. This is terrible. Internally Solr should broadcast to all the shards if there is no composite key prefix.
Some affected code is UpdateRequest.getRoutes.