Two things.
Firstly, most ESCs have a "neutral zone" that's designed to eliminate jitter around zero throttle, which might explain the "nothing happens until 1100" observation.
The second is that it's most likely the way the ESC is mapping the inputs to outputs.
In both cases, it's coarser than what I'd expect. It's pretty common to have a neutral zone of around 5% - yours looks to be 10%.
Unless there's something unexpected going on in how the arduino code is mapping the intended PWM value to actual signal, it's going to be entirely down to how the ESC works. Do you have a 'scope or similar to inspect the actual PWM signal from the Arduino?
Thanks so much for the reply. Your observation about the neutral zone makes sense to me. As for the remainder of the PWM range, I unfortunately do not have an oscilloscope and the price to purchase one is a bit out of the range for this project. That being said, I’ve already replaced the ESC with the same model (thinking that my original one was damaged), but no luck; and I’ve confirmed I’m sending smooth signals from my potentiometer, so the output of the ESC really seems to be the last thing to check here. One thing I wanted to mention before was that my ESC has a feature where upon startup it beeps the number of cells that its senses from the battery. My battery is 4S and my ESC is only beeping 3 times. That seems odd. Perhaps I just choose a cheap ESC. I purchased the $22 40A “RC Electric Parts” brand off of Amazon.