Most of that should just work.
To change the typescript version, just put the correct version in your
packages.json in the normal way.
Microstacks just needs
Pulumi.yaml files in all the project directories.
Top-level tsconfig is built-in, just don't have one in the project directory.
Not sure that you want a shared package.json; I haven't looked into that.
I don't know what pnpm support requires; hopefully, just package dependencies or a special loader?
If you need to change the node loader (e.g. to use ESM) you can use the nodeargs option.
https://www.pulumi.com/docs/concepts/projects/project-file/