Normalmente, no. Il callback è parte dell'API esposta dal layer B.
L'API del Layer B definisce il modulo (prototipo) del callback, l'API del Layer B definisce le funzioni da registrare e annullare la registrazione del callback, e Layer B definisce le condizioni in base alle quali verrà richiamato il callback. Inoltre, poiché il callback viene registrato, funzionerà anche se non è esposto pubblicamente dal Layer A. (Il callback può essere un metodo privato dell'oggetto che implementa il Layer A.) Pertanto, è totalmente, completamente, senza dubbio, parte dell'API di Layer B.
Ora, se il Layer A decide di anche pubblicamente esporre il callback, allora diventa anche parte dell'API del Layer A, ma è contorto, e probabilmente inutile. Le probabilità che un terzo Layer X lo trovi utile per invocare la callback di A come parte dell'API pubblica di A sono molto ridotte. In effetti, anche in un'occasione così improbabile, eviterei comunque che il Layer X invochi la richiamata, perché causerebbe confusione. Avrei A esporre un metodo completamente separato per questo.