My brilliant colleague found that it was not necessary to create the IWDCachedWebResource resource using the getPublicCachedWebResource method, we saw the results we needed with the more generic (but deprecated) getWebResource method:
IWDCachedWebResource resource = WDWebResource.getWebResource(bytesPDF, WDWebResourceType.getWebResourceType("application/pdf","PDF"));
Fewer arguments, too, and no need to manually manage the resource scope or build a key value.
SAP Library documents instruct us to use WDResourceFactory class instead of the deprecated method WDWebResource.getWebResource, so we will try that too and use the factory method instead if it works.
But for now we are operational again.