First, your model has duplicated vertices. Remove them with a Merge By Distance (M) in Edit mode.
Furthermore, the knees have overlapping faces. You need to remove the larger ones:
To fix the twisting, you need more loops along the forearm and legs, otherwise there's no way the geometry can 'smooth' the twisting from wrist to elbow. With more loops you can have 100% effect of the twist bone in the wrist vertices and 0% in the elbow vertices and a gradual progression in between.
Don't forget to adjust the weights after you fixed the mesh. Parent the mesh to the rig again With Automatic Weights.
Example with extra loops for the forearm, upper arm, and 2 more for the elbow:
The hand is rotated by 180° compared to the shoulder:
Example animation with the extended arm (about 270° rotation). The upper arm rotates also a little, especially when the thumb points to the floor:
Same movement but with bent arm:
Remember, for a natural range of motion the wrist can only twist about 90 degrees in each direction from the 'resting' position, sothat's 180 degrees total range. So any rotation bigger than that has to be complemented with upper arm rotation. If you just twist the wrist 180 degrees in one direction without also rotating the upper arm the pose will look unnatural, because it would actually be unnatural.
Also good to know: the forearm is comprised of two separate bones, the Ulna and the Radius:
The wrist rotation is one of these bones rotating around the other at the wrist, but not at the elbow:
If they were to rotate more than 90 degrees to one side, they would have to bend to wrap around each other. Since bones are not that flexible, they would break.