If we try that code in a REPL, we see that it complains about :e being missing:
user=> (let [sample-map {:a 1 :b {:a 2 :b 3 :c 4 :d 42}}
{a :a {aa :a :as m :keys! [b c & d e]} :b} (dissoc sample-map :c)] b)
Execution error (IllegalArgumentException) at user/eval126 (REPL:1).
Missing required key: :e
But the test is weird because sample-map doesn't actually have a :c key at the top level, only nested under :b.
In answer to your overall question, yes, :keys! works anywhere that :keys already works, and that includes nested map destructuring.
Here's an example from our code at work:
[{:keys! [worldsingles-application members actioner database]
{:keys! [& redis-pubsub] pubsub :redis-pubsub} :worldsingles-application
:as service}]
This checks that :redis-pubsub is a key under :worldsingles-application which is a key of service, but does not bind redis-pubsub, and also binds pubsub to the :redis-pubsub key. Yes, we have Alpha 2 in production and this code used to be multiple let bindings and explicit checks for keys being present.