Das sollte eigentlich so passen und ich habe nicht wirklich eine Ahnung warum das nicht funktioniert. Aber ändere die Reihenfolge in der ~/.config/labwc/autostart mal so:
Bash
swayidle -w \
timeout 60 'wlopm --off \*' \
resume 'wlopm --on \*' >/dev/null 2>&1 &
/home/pi/pir.py &
bash /home/pi/run_kiosk.sh &
Bei mir kommt swayidle auch zuerst, bevor der Browser gestartet wird. Vielleicht bringt das ja was.