Child themes work the same, whether the parent is a block or a classic theme. The biggest difference is that their utility has greatly decreased. They were the main and only way of non-standard customizations of classic themes, but block themes solved this with FSE and changes stored in the database.
There are still a couple of valid reasons to use a child theme with a block theme:
- Adding custom CSS.
- Adding custom PHP with functions.php
- Providing a customized theme.json.
Custom CSS and PHP have not changed. You still need a child theme to create a custom CSS file, and you still need functions.php to enqueue that file. If you placed that in the parent theme, these modifications would be overridden on the next update. Nothing new here.
A customized theme.json is a little more interesting. It doesn’t completely replace the parent’s file. The child and parent theme.json get merged, with the properties defined in the child’s version taking priority. That means you may only set the properties you’re interested in modifying in your child’s theme.json, and all of the rest will be inherited.
You can obviously still override templates and template parts in your child theme. This may be useful if you’re handing the website to a client and don’t want them to be able to clear customizations from the database. By overriding the template’s file, you’re providing a new default. Just remember that the database will always take priority.