JsonTemplateLayout does not implements LocationAware and override requiresLocation, making LoggerConfig::requiresLocation always return false and AbstractLogger::getLocation(fqcn) return null. This results in the location not being passed to its underlying appenders when needed.
Instead, JsonTemplateLayout::requiresLocation should return true when any of its appenders requires a location.