Long story short, but by default SSH daemon does not open ports to the internets when you make remote port forwarding, e.g. allows to connect to ports from localhost only.
That’s smart, of course.
To allow connecting from the internets to your new ports you need to add changes to sshd config /etc/ssh/sshd_config:
Add there following line:
Now when you do
ssh -v -R 8080:localhost:4000 email@example.com -i ~/.ssh/key.pem
You will be able to make a request from outside 🙂