Short answer:
Your first attempt using the bootstrap image and fakeroot is producing an invalid rootfs. It's not actually removing the root.x86_64 parent directory.
More detail:
The Error mounting one of the file systems. Run 'dmesg' for more details., in my experience, usually means that the archive doesn't contain a valid (to WSL) rootfs.
At first I thought this was due to importing a gzipped file, since the default for --export is a simple tar (and you do that in your Docker steps).
However, I just tested with both a tar and a .tar.gz and it worked for me either way. I used slightly different steps, though -- Specifically, I used sudo rather than fakeroot since I'm trying it from an an existing Ubuntu 20.04 distribution. Edit: I also gave it a try with fakeroot under my Artix distribution and found the problem. See the section below "Why your fakeroot attempt didn't work".
I was successful with the following. First, from Ubuntu 20.04:
wget http://mirror.rackspace.com/archlinux/iso/2022.03.01/archlinux-bootstrap-2022.03.01-x86_64.tar.gz
sudo tar --xattrs -xzvf archlinux-bootstrap-2022.03.01-x86_64.tar.gz
cd root.x86_64/
sudo tar --xattrs -cf ../archtest.tar .
# or
# sudo tar --xattrs -czf ../arch-wsl.tar.gz .
mv ../arch-wsl.tar* /mnt/c/Users/<some_location_in_my_profile>
# I have a standard WSL directory under my Documents folder
Then from PowerShell (you are already familiar with these steps, obviously):
cd <location_from_above>
mkdir -p instances\arch
wsl --import arch .\instances\arch .\arch-wsl.tar --version 2
wsl ~ -d arch
Why your fakeroot attempt didn't work
I ran your command-line to try it out under Artix, and I can see the problem. The tar that is created from it still has the root.x86_64 in it. To get rid of it, you need to use the -C/--directory option to specify the real root:
fakeroot -- bash -c "tar -xf bootstrap.tar.gz && tar -C root.x86_64 -czaf rootfs.tar.gz ."
However, there's still a problem with that, since the result archive doesn't have the proper security capability on a few commands:
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.security.capability'
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.security.capability'
Attempting to use --xattrs as I did with a simple sudo above, still doesn't work, and I'm not sure just why at this point:
fakeroot -- bash -c "tar --xattrs -xf bootstrap.tar.gz && tar --xattrs -C root.x86_64 -czaf rootfs.tar.gz ."
Results in:
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.security.capability'
tar: Ignoring unknown extended header keyword 'LIBARCHIVE.xattr.security.capability'
tar: ./usr/bin/newuidmap: Unknown file type; file ignored
tar: ./usr/bin/newgidmap: Unknown file type; file ignored
tar: Exiting with failure status due to previous errors
If you can figure out why that's failing under fakeroot, let me know. But the sudo version works just fine for me.
A few side-notes:
After creating your default user, you'll want to set it as the WSL default user using these steps.
Arch is still a Systemd distribution, and (as you may already know), Systemd is not well supported under WSL due to (a) WSL's /init system which sets up the WSL/Windows integration, and (b) Systemd's requirement that it be PID1.
I quickly migrated from Arch to Artix, as the latter is a Systemd-free Arch-based distro. I'm still "early" (been on it about a month), but the results are encouraging. Artix supports 5 different alternative process supervisors, and has scripts/unit files for most all services installed through pacman (but not, however, AUR). If you want to go this route, let me know, and I can share my setup instructions.