Battle for Azeroth is currently not included in the Shadowlands pre-purchase, but this will change soon and you won’t have to purchase the expansion separately.

Pre-purchasing Shadowlands does not currently include the latest expansion WoW expansion, Battle for Azeroth. On the contrary, Battle for Azeroth is required to pre-purchase Shadowlands.

(Source)

Common Problems

Do I need BFA to play Shadowlands?

If I buy Shadowlands, does it come with BFA?

What’s included with my purchase of Shadowlands?

Does heroic includes access to all allies and flying achievement

Battle for Azeroth is not included with the Shadowlands pre-purchase.

To purchase the Shadowlands pre-purchase you need to already have Battle for Azeroth purchased, or purchase a Complete Collection for the World of Warcraft account.

Everything will change with the release of the Shadowlands pre-patch on October 13, 2020, and the Battle for Azeroth expansion will be added to the base game, meaning you won’t need to purchase it separately, and an active subscription will be enough to play all content up to BfA.

When the Shadowlands pre-patch goes live, you will be able to buy Shadowlands separately.

With the release of the BfA pre-patch, Blizzard made the Legion expansion part of the base game, which is why we think the same is going to happen with BfA when the Shadowlands pre-patch drops.