The Issue
If you put a datapack with experimental feature flags in a premade world, the world does not recognize the existence of the datapack unless the name of the pack has been changed while the world is still open.
How to Reproduce
Load up the world backup provided below in both the game and file explorer.
Go to the datapacks folder in the file explorere to find the "THEFT v2.0" datapack.
Type /datapack list in game and notice that there are no datapacks available other than vanilla.
Go back to the file explorer and rename the datapack.
Type /reload in game and notice the tellraw message printed by the load tag.
Save and quit the world and then rejoin. You can also relaunch the game for the same effect.
Go back to stage 3.
If you create a separate world with the datapack inside, it does recognize the existence of it right away since there is an experimental tag onto it.
Please check if this is still an issue for you in 1.21. If so, please update the affected version.