No idea what is wrong, but you seem to be doing it correctly. You only need to mount the style-local.json file to /usr/src/app/tile/styles/dark-matter/style-local.json.
Are you sure that the same request is made? Can you double check filtering in the browser console network tab for dark-matter/style.json and check if both Kibana and the EMS Ui are requesting the same URL?
I mounted a reduced dark matter style file shared below at the mentioned path, and I got the desired result in both EMS UI and Kibana.
{
"version": 8,
"name": "Dark Matter",
"sources": {
"openmaptiles": {
"type": "vector",
"url": "mbtiles://{v3}"
}
},
"sprite": "{styleJsonFolder}/sprite",
"glyphs": "{fontstack}/{range}.pbf",
"layers": [
{
"id": "background",
"type": "background",
"paint": {
"background-color": "#3b4252"
}
},
{
"id": "water",
"type": "fill",
"source": "openmaptiles",
"source-layer": "water",
"filter": ["==", "$type", "Polygon"],
"layout": {
"visibility": "visible"
},
"paint": {
"fill-color": "#2e3440",
"fill-antialias": false
}
},
{
"id": "boundary_country",
"type": "line",
"source": "openmaptiles",
"source-layer": "boundary",
"filter": ["==", "admin_level", 2],
"layout": {
"line-cap": "round",
"line-join": "round"
},
"paint": {
"line-color": "rgb(83, 89, 102)",
"line-width": 1,
"line-blur": 1,
"line-opacity": 1
}
},
{
"id": "place_country_major",
"type": "symbol",
"source": "openmaptiles",
"source-layer": "place",
"filter": [
"all",
["==", "$type", "Point"],
["<=", "rank", 1],
["==", "class", "country"],
["has", "iso_a2"]
],
"layout": {
"visibility": "visible",
"text-field": "{name_en}",
"text-font": ["Metropolis Regular", "Noto Sans Regular"],
"text-transform": "uppercase",
"text-max-width": 6.25,
"text-size": 15,
"text-anchor": "center"
},
"paint": {
"text-halo-width": 1.4,
"text-halo-color": "rgb(22, 26, 28)",
"text-color": "rgb(152, 162, 179)"
}
}
],
"id": "dark-matter"
}
