Heat coconut oil and butter together in a large pot or Dutch oven over medium heat; cook and stir onion and garlic in the hot oil-butter mixture until slightly softened, 1 to 2 minutes. Season with salt and black pepper.
Stir squash, sweet potatoes, and apple into the onion mixture and cook until heated through, about 5 minutes. Pour in chicken broth and bring to a boil; add basil, curry powder, and bay leaf. Reduce heat and simmer until sweet potatoes and apple are softened, 15 to 20 minutes. Remove from heat and season with salt and pepper.
Puree soup in the pot with a hand blender until smooth.