The allowDelete and processCanvasApps flags on pac solution unpack seem incompatible. With a solution that contains a canvas app, e.g. a model driven app with a new Power Fx component library, then the first unpack will process and expand the solution and associated canvas app (.msapp) correctly. If the same command is run again the files in CanvasApps\src\* are deleted.
First Unpack
❯ pac solution unpack --folder PacSolutionUnpackCanvas --allowDelete --processCanvasApps --zipfile .\PacSolutionUnpackCanvas_1_0_0_1.zip
Unpacking Solution...
Extracting C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas_1_0_0_1.zip to C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas
Skipping localization
Processing Component: Entities
- pgc_PrimeMinister
Processing Component: EntityRelationships
Processing Component: AppModuleSiteMaps
- pgc_PrimeMinisterApp
Processing Component: AppModules
- pgc_PrimeMinisterApp
Processing Component: CanvasApps
- pgc_primeministerappdefaultcommandlibrary_b5677
-- unpacking Canvas app pgc_primeministerappdefaultcommandlibrary_b5677...
Unpack from C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas\CanvasApps\pgc_primeministerappdefaultcommandlibrary_b5677_DocumentUri.msapp --> C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas\CanvasApps\src\pgc_primeministerappdefaultcommandlibrary_b5677
source format version: 0.24
Unmanaged Extract complete.
Unpacked Solution.

Second Unpack
❯ pac solution unpack --folder PacSolutionUnpackCanvas --allowDelete --processCanvasApps --zipfile .\PacSolutionUnpackCanvas_1_0_0_1.zip
Unpacking Solution...
Extracting C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas_1_0_0_1.zip to C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas
Skipping localization
Processing Component: Entities
- pgc_PrimeMinister
Processing Component: EntityRelationships
Processing Component: AppModuleSiteMaps
- pgc_PrimeMinisterApp
Processing Component: AppModules
- pgc_PrimeMinisterApp
Processing Component: CanvasApps
- pgc_primeministerappdefaultcommandlibrary_b5677
-- unpacking Canvas app pgc_primeministerappdefaultcommandlibrary_b5677...
Unpack from C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas\CanvasApps\pgc_primeministerappdefaultcommandlibrary_b5677_DocumentUri.msapp --> C:\Users\...snip...\allowDelete\PacSolutionUnpackCanvas\CanvasApps\src\pgc_primeministerappdefaultcommandlibrary_b5677
source format version: 0.24
Unmanaged Extract complete.
There are 18 unnecessary files
Deleting files...
Unpacked Solution.
Notice 18 unnecessary files reported and deleted! Checking the file system we can see the canvas apps source files have been deleted. 😱

Here's the solution zip used for testing. It contains a table 'Prime Minister', a 'Prime Minister App', a component library adding a 'Replace Incumbent' button to the main form on the 'Prime Minister' table.
PacSolutionUnpackCanvas_1_0_0_1.zip
The allowDelete and processCanvasApps flags on pac solution unpack seem incompatible. With a solution that contains a canvas app, e.g. a model driven app with a new Power Fx component library, then the first unpack will process and expand the solution and associated canvas app (.msapp) correctly. If the same command is run again the files in CanvasApps\src\* are deleted.
First Unpack
Second Unpack
Notice 18 unnecessary files reported and deleted! Checking the file system we can see the canvas apps source files have been deleted. 😱
Here's the solution zip used for testing. It contains a table 'Prime Minister', a 'Prime Minister App', a component library adding a 'Replace Incumbent' button to the main form on the 'Prime Minister' table.
PacSolutionUnpackCanvas_1_0_0_1.zip