There are so many unknown variables that you haven’t given us.
What is the device you are playing on?
In the Plex settings of the device, do you have the quality set appropriately? Check for Remote Streaming as well Home Streaming (just to be sure).
You say “no more than 4mbps” in your heading, what does this mean? Is it actually 2mbps? Could somehow be relaying rather than connecting directly?
On the Plex server, again, just to be safe - is there any restriction on the remote stream bandwidth? You’ve said in a response that it’s one room to the other, but just to be sure.
What is the codec and quality of the content you’re trying to stream? Is it x264/H264 1080p or h265 2160p, or whatever?
You say hardware encoding is enabled but is it working? On the Plex server dashboard does the content show as transcoding with hardware (is hw or HW) shown?
Is there any more information you can give us that might be helpful in helping others to diagnose the possible cause?