I think you are on the right track here. Working with all files inside a container does avoid involving multiple abstraction stacks.
And I think VSC should be able to establish its bridge (proxy service) to the container directly as well.
The only caviat with this workflow is if you need to share files between containers you’ll need a data volume just for those files.
I haven’t tested how to debug in VSC using this workflow so I can’t speak as to how good the DX would be. Maybe you can write your own post with your findings on usability and ease of updating the code inside the container. 😁