Walker class for sub-menu with ACF fields

Yes, if you want to keep using a WP nav menu, a walker is the right way to go.

To only affect a certain level (i.e. children, grandchildren, parent, etc.) you can use $depth.

class wpseWalker extends Walker_Nav_Menu {
    public function start_el(&$output, $item, $depth = 0, $args = array(), $id = 0) {
        // Check $depth - if it's 0 it's the top parent, 1 is a direct child
        if($depth == 1) {
            // Just temporarily, show all the item's properties
            // You'll want to grab the ID from here and pull the ACF data
            $output .= print_r($item, true);
        }
    }
}

You’ll also want to check and make sure the ACF data exists, in case someone sets up a menu item that doesn’t have that info.