Is the px / px-fuse kernel module required on compute-only (storageless) nodes in a disaggregated cluster?

We’re running Portworx Enterprise 3.6.0 on Kubernetes (installed via the Portworx Operator) and want to confirm our understanding of the architecture before finalizing a disaggregated design — dedicated storage nodes plus separate compute-only nodes.

Could you confirm, explicitly:

1. Components per node type: Which Portworx components run on a storage node versus a storageless / compute-only node? Does a storageless node run the full Portworx engine and the CSI node driver, or only a subset?

2. Kernel module scope: Is the Portworx kernel module (px / px-fuse / `pxd` / `px.ko`) required on every node where Portworx runs — including storageless/compute nodes — or only on storage nodes?

3. Mounting requirement: For an application pod scheduled on a compute-only node to mount and use a Portworx volume (replicas living on the storage nodes), what must be present on that compute node — the engine, the CSI node driver, and the kernel module?

4. Custom kernel / air-gapped: If the node’s running kernel is not available on `mirrors.portworx.com` and the environment is air-gapped, what is the supported way to provide the kernel module on each node (e.g. building it from the `px-fuse` source against the kernel headers)? Does this requirement apply to compute/storageless nodes as well?

A clear written confirmation on points 2 and 3 specifically would help us a lot. Thanks!