Which ways to copy subfields of kubernetes.container._module.labels.* to kubernetes.lables.*?

mutate+copy is a no-op if a field does not exist, so you can compress this down to

mutate {
    copy => {
        "[kubernetes][container][_module][labels]"      => "[kubernetes][labels]"
        "[kubernetes][container][_module][namespace]"   => "[kubernetes][namespace]"
        "[kubernetes][container][_module][node]"        => "[kubernetes][node]"
        "[kubernetes][container][_module][pod]"         => "[kubernetes][pod]"
        "[kubernetes][pod][_module][labels]"            => "[kubernetes][labels]"
        "[kubernetes][pod][_module][namespace]"         => "[kubernetes][namespace]"
        "[kubernetes][pod][_module][node]"              => "[kubernetes][node]"
        "[kubernetes][node][_module][labels]"           => "[kubernetes][labels]"
        "[kubernetes][volume][_module][labels]"         => "[kubernetes][labels]"
        "[kubernetes][volume][_module][namespace]"      => "[kubernetes][namespace]"
        "[kubernetes][volume][_module][node]"           => "[kubernetes][node]"
        "[kubernetes][volume][_module][pod]"            => "[kubernetes][pod]"
        "[kubernetes][system][_module][labels]"         => "[kubernetes][labels]"
        "[kubernetes][system][_module][node]"           => "[kubernetes][node]"
    }
 }

assuming that only one of the sets of node/labels/pod will be present.