Update
To move backlogs/boards from one section to another section on the Backlog Board, one needs to have the Edit work items in this node permission for the Area and Iteration path. You can deny the permission to disable the ability for that specific user.
You define both areas and iterations for a project from the Project Settings>Work>Project configuration.
- Choose (1) Project Settings, expand Work if needed, and choose (2)
Project configuration and then (3) Areas.

- Choose the ... context menu for the node you want to manage and
select Security.
3. Select the group or team member, and then change the permission
settings.

Per my above screenshot, user L can't move work items which is under corresponding area. (and he can't edit work items under Agile area either.)
When he try to move items in the board (for example new → activity), it will auto back to original location.

No, this could not be done via Access level.
To use some feature such as Code in Azure DevOps, you need to be qualified with two things: Permission , Access Level.
Access levels enable administrators to provide their user base access to the features they need and only pay for those features. It's corresponding to account in an organization. It's not able to manage Access Level per project.
In other words, with your scenario you need to use permission to restrict that specific user in the second project.
- First add him to second project like Contributor group
- Explicitly restrict permission such as Code, Build, Release
- Modify the permission of Board area to meet your requirements.