Ahhh, @khan360, I think I see what is happening now.
Sorry it took me so long to get it, we’re in the middle of a heatwave, and apparently my brain switched to passive cooling mode.
But I hope it will be working now for you 
This is caused by timing plus how browser developer consoles display logged objects.
bricksData.leafletMapInstances is initialized as an empty array/object first (in PHP). Bricks then runs the Leaflet map init on DOMContentLoaded, but the actual map instance is only stored after Leaflet itself is available (the Leaflet library takes some time to become available) and the map has been initialized (this is important, because without Leaflet, we can’t have leaflet object
).
So this can be confusing in DevTools:
console.log(bricksData.leafletMapInstances)
When you expand that logged object later, DevTools shows the object by reference, meaning it can show the updated state after Bricks has already added the Leaflet instance.
But this:
console.log(bricksData.leafletMapInstances.ckxrkx)
is evaluated immediately at that exact moment. If the Leaflet instance has not been created yet, it correctly returns undefined (which at the DOMContentLoaded, it has not yet been - waiting for the Leaflet to actually become availabe)
Ideal solution is that for custom runtime code, you wait until the instance exists:
function waitForBricksLeafletMap(mapId, callback, timeout = 5000) {
const started = Date.now()
const interval = setInterval(() => {
const map = window.bricksData?.leafletMapInstances?.[mapId]
if (map) {
clearInterval(interval)
callback(map)
return
}
if (Date.now() - started > timeout) {
clearInterval(interval)
console.warn(`Leaflet map "${mapId}" was not initialized.`)
}
}, 50)
}
document.addEventListener('DOMContentLoaded', () => {
waitForBricksLeafletMap('ckxrkx', (map) => {
console.log(map)
// Leaflet API is available here.
})
})
Or, if you do not want to hardcode the ID:
document.addEventListener('DOMContentLoaded', () => {
const mapEl = document.querySelector('.brxe-map-leaflet')
const mapId = mapEl?.dataset.scriptId || mapEl?.id
if (!mapId) {
return
}
waitForBricksLeafletMap(mapId, (map) => {
console.log(map)
})
})
So the instance is being populated, but custom code needs to wait until Bricks has finished initializing Leaflet.
Can you test it? And if that works for you, I will mark it as no bug because there is nothing that we can do about it because we also wait for a leaflet to be available 
Please let me know,
Matej