Export-WindowsImage Loop Not working with SWM files but works with WIM files

I needed to update some drivers on some Win11 installation thumb drives we have. These were made via the Media Creation Tool from MS so, these aren’t some fancy homemade images. The thumb drives have SWM files because the WIM file is too big for the FAT32 filesystem. In order to add drivers to them, you need to turn the multiple SMW files into one WIM file. Of course, you need to export each image index from the SWM file and add it to the WIM so this is a one-at-a-time type thing. I know how to do this manually but, after doing it several times, I got to thinking that a ForEach loop might make things easier. I have a script for WIM files so I tried to apply it to SWM files. While it works with WIM files, it will not work with SWM files. Can anyone spot my issue? I show both the working code for WIM files and the non-working code for SWM files.

In this case, I can get around this by pulling down the ISO from MS, pulling out that WIM file, adding some drivers, splitting it into a couple of WSM files, and then overwriting the MS-made SWM files on the thumb drive. I was just curious if I was doing something wrong or if anyone else had bumped into this.

Working code for WIM files:

<#  Supposed to export all indexes from a WIM file.
    Loops through all the indexes of a WIM file and exports the indexes into another WIM file.
#>

# Define variables
$SourceWimPath = "C:TempWIM_Workinstall.wim"
$DestinationWIMPath = "C:TempWIM_WorkExportedinstall.wim"

# Get information about the SWM image to determine the number of indexes
$ImageInfo = Get-WindowsImage -ImagePath $SourceWimPath

# Loop through each index and export it to a WIM file.
# Set your compression level to none, fast, or max
ForEach ($Image in $ImageInfo) {
    Write-Host "Starting to export index $($Image.ImageIndex) at $(Get-Date)."
    Export-WindowsImage -SourceImagePath $SourceWimPath -SourceIndex $Image.ImageIndex -DestinationImagePath $DestinationWIMPath -Compress max -CheckIntegrity -Verbose
}

Write-Host "All indexes have been exported."

Non-working code for SWM files:

<#  Supposed to export all indexes from a split WIM (SWM) file.
    This will give you a single WIM file with all the indexes in it.
    Once you have your WIM file, you can edit it accordingly; you can't edit SWM files directly.
#>

# Define variables
$SourceSwm = "C:TempWIM_WorkNewinstall.swm"
$DestinationWIM = "C:TempWIM_WorkExportedinstall.wim"
$SwmPattern = "install*.swm"

# Get information about the SWM image to determine the number of indexes
$ImageInfo = Get-WindowsImage -ImagePath $SourceSWM

# Loop through each index and export it to a WIM file.
# Set your compression level to none, fast, or max
ForEach ($Image in $ImageInfo) {
    Write-Host "Starting to export index $($Image.ImageIndex) at $(Get-Date)."
    Export-WindowsImage -SourceImagePath $SourceSwm -SplitImageFilePattern $SwmPattern -SourceIndex $Image.ImageIndex -DestinationImagePath $DestinationWIM -Compress fast -CheckIntegrity -Verbose
}

Write-Host "All indexes have been exported."

Error I get:

Export-WindowsImage : The specified image file did not contain a resource section. (Exception from HRESULT: 0x80070714)
At line:13 char:5
+     Export-WindowsImage -SourceImagePath $SourceSwm -SplitImageFilePa ...
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Export-WindowsImage], COMException
    + FullyQualifiedErrorId : Microsoft.Dism.Commands.ExportWindowsImageCommand

When I simplify the code, taking out the ForEach loop. I get the same error; I’m curious if the MS SWM files are unique in some way because this should be totally possible with WIM/SWM files:

Export-WindowsImage -SourceImagePath $SourceSwm -SplitImageFilePattern "install*.swm" -SourceIndex 1 -DestinationImagePath $DestinationWIM -Compress fast -CheckIntegrity -Verbose