Вы говорите «уже сохраненные характеристики или услуги», поэтому я предполагаю, что вы успешно прочитали их хотя бы один раз.Они были сохранены в кеше Bluetooth.
В вашем случае использование BluetoothCacheMode.Cached
не подключается к устройству для поиска характеристик - он ищет в кеше Bluetooth, поэтомуэто не показывает им «в реальном времени».Использование BluetoothCacheMode.Uncached
пытается установить соединение, и оно не удается.
При ответе "Device Unreachable" в первую очередь необходимо обновить объект устройства.
BluetoothLEDevice device = await BluetoothLEDevice.FromIdAsync(deviceId);
.....