I'm not sure if you can reasonably scale to 0, but I believe you can attach Autoscaling Groups to Fargate.
Most likely it would be based on CPU/Memory and not requests
Most definitely, but you can auto scale on custom metrics with a bit of glue. Even a very small node app has a start time in the 10-30 sec range. Every auto scaling system, even cloud run, can struggle to keep up with extremely bursty traffic. If you want no timeouts, you have to overprovision.