As discussed in this topic, liquibase changesets would not be applied to the database if auto_update_database is set to "true" in openmrs-runtime.properties
I used OpenMRS 1.11.3. Didn't try earlier 1.11.x or 1.10.x versions.
Updating the DB with auto update works with 1.9.9 though
Move the line in Listener.startOpenmrs that fetches the layout name global property through the API to happen after the call to Context.startup() since the updates at that point have already been run even when allot_auto_update is set to true OR use SQL to fetch it if it needs to be used before the service context is up