Hello this behavior is related to how kotlin dsl generates type-safe model accessors. According to current documentation: https://docs.gradle.org/current/userguide/kotlin_dsl.html#type-safe-accessors
typesafe accessors are generated for this occurrences:
Only the main project build scripts and precompiled project script plugins have type-safe model accessors. Initialization scripts, settings scripts, script plugins do not. These limitations will be removed in a future Gradle release.
so in order for this to work I use workaroud applying java plugin in root project script in plugins block and it generates the accessors, so i can use it in subprojects block also