I would suggest that TryAcquireDistributedLock returning a boolean result would be more suitable for general use as failing to acquire a distributed lock is not really an exceptional case and should be somewhat expected.
If AcquireDistributedLock is retained then I agree that it should throw a storage-agnostic exception.