I think the original commenter is correct that there is a mistake in the perspective code.
It seems the code calculates the linear interpolation for the grid points too late. It should be before projecting, not after.
I opened an issue ticket on the repository with a simple suggested fix and a comparison image.
https://github.com/tscircuit/simple-3d-svg/issues/14