The custom CSS is stored in the Flarum settings key-value table, which has the same maximum size for all settings values. I'm not sure why this value was chosen originally (it can technically be set higher), but it sounds like a reasonable choice for regular settings which are mostly simple text fields.
Extension developers are expected to create their own tables or a different system entirely to store settings that require more storage space. The Flarum custom CSS field is designed for simple customization but it's expected that a (theme) extension be used/created for more advanced customization. Including CSS files from the root extend.php
is usually the best solution for advanced local themes, but unfortunately this can't be used here.