can you try adding ESP_ERROR_CHECK(esp_event_loop_create_default()); and see what errors you get?
When I compile and deploy my project, I see the following warning
i2c: This driver is an old driver; please migrate your application code to adapt driver/i2c_master.h,
which causes my system to never finish initialization. In my case, the M5Unified library needs to be updated to use driver/i2c_master.h
Perhaps your timeout is related to the loop never initializing. At this point, I am only guessing what the issue might be.