6.0 adds a lock attribute on individual blocks, which sits between templateLock on a container and no restriction at all.
<!-- wp:group {"lock":{"move":true,"remove":true}} -->
<div class="wp-block-group">
<!-- wp:heading --><h2>Editable</h2><!-- /wp:heading -->
</div>
<!-- /wp:group -->
<!-- move: cannot be reordered
remove: cannot be deleted
content: (6.5) cannot be edited — not yet in 2022 -->
The two flags are independent, so a block can be movable and undeletable or the reverse, which covers most of what a locked layout actually needs. Locking the container and leaving its children free is the arrangement that survives contact with an editor; locking everything produces a request to unlock within a fortnight.