I am attaching a zipped datapack which Minecraft can't see into.
If I unzip the pack, it works. If I re-zip the pack, the new zip works.
The original (attached) zip file was written using a program*. I am unclear if the program might be writing some invalid zip file (which Windows is still able to read, but Minecraft cannot), or if the file is a valid zip (and Minecraft is too strict about the types of zip files it can read).
The program uses .NET System.IO.Compression.ZipArchive library to write the zip file, and each entry uses System.IO.Compression.CompressionLevel.NoCompression
EDIT
OOPS, the zip contains an entry where a file separator is '\' rather than '/'. Windows can read it, but it's an illegal zip file. This bug can be resolved.
Invalid pack.