Do some simple math. The power bank can supply either 1A or 2.5A depending on the USB power design. You have 512 LEDs so the maximum drain per LED could be 1A/512 = 0.2mA or 2.5A/512 = 0.5mA.
As you lean towards the low RGB numbers in their 0-255 range, the steps become more obvious and even low values still draw significant current. It's not too unexpected since a typical bare LED may run on 5-20mA.
Your power goes through the Arduino, and although it can supply significant current via the 5V pin, it is better to supply the strip directly from 5V, bypassing the Arduino. If, for example, you tried this circuit with a Nano, an onboard diode would likely overheat and cause a failure.