I needed to deploy custom Teams backgrounds using GPO without upgrading to a Premium license. Here’s the solution I came up with:
Preparing the Custom Background
Create a Teams meeting using another account and invite your own account. Open the New Teams client with your account and join the meeting. Inside the meeting, click on “More” and then “Video effects.” From there, click “Add new” to upload your custom background.
Next, open Windows Explorer and navigate to: %localappdata%\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams\Backgrounds\Uploads

Here, find your uploaded image along with a corresponding thumbnail file. Both files will have the same random name but different extensions, for example:
e1af166c-726b-4744-91ee-c413a560fb40.png
e1af166c-726b-4744-91ee-c413a560fb40_thumb.png
Deploying the Background Using Group Policy
Copy the image and thumbnail files to a folder on your Domain Controller that is accessible for GPO deployment. I choosed \\domain.local\NETLOGON\Teams
Create a new Group Policy Object (GPO) and name it “Teams Backgrounds” or something similar. In the GPO, navigate to User Configuration → Preferences → Windows Settings → Files, and add a new file.
For the source, set the path to your chosen folder where you copied the image files, such as: \\domain.local\NETLOGON\Teams
For the destination, use the path to the New Teams backgrounds folder with the variable %LocalAppData% to reach users local AppData folders:
%LocalAppData%\Packages\MSTeams_8wekyb3d8bbwe\LocalCache\Microsoft\MSTeams\Backgrounds\Uploads\image.png

Repeat this process for the thumbnail file as well. There should always be two Files per Background image.

If you can’t use GPO or want to use Intune instead: (i heard) this workaround works like a charm: The New Teams: virtual Background with Intune | scloud