I tried all of the changes above. Nothing worked. I suspected the chunks were getting flagged to be flushed, but the flush process was not running. I suspected this because when restarting Loki, chunks would get flushed.
Therefore, I added this to the configuration yaml in the ingester section:
flush_check_period: 10s
After making this change, I ran 3 data sets through our system and chunks were flushed as expected.