I don't really know that much about VS code i.e. the advantages it has over VS community edition. Although it seems orientated towards web development (and .Net vs .Net Framework). From what I read it allows attaching to process, not sure about referencing of assemblies that would be required etc.
Iron Python is supported by visual studio as is (not sure about the free community edition), so it should be possible to use it for compilation of .Net assemblies with RevitAPI references. Although that doesn't seem to be the path for most Revit Python developers. Again I'm not an expert on Python so can't describe the disadvantages of using it that way. Python is often touted as something you don't need to re-compile and run in Revit (so perhaps that is the reason) but in reality you can achieve similar with VB/C# (just nobody has put the plumbing in place for that).
Entry points are straightforward enough you just need an add-in on the Revit side to access. This then calls your dynamically compiled assembly and invokes a member on it. CodeDOM supports VB.Net and C#, so in theory if I only had a VB/C# text file from VS Code I could compile it with CodeDOM and invoke it (both within a Revit side add-in). Not sure about Python you may have to compile externally but then it could be referenced like any other CLR library.
I know this approach works as I have an add-in that compiles a VB.Net text file this way, I don't use it much because it is basically a text box with plain text and no code formatting. Plus there are also issues where VendorIds are used e.g. extensible storage, dynamic model updaters etc. the vendor Id from the main entry point assembly is used. Add-in manager used to suffer from this which I why I never used it for long, I'd rather just plan my Revit restarts. Debugging is also inherantly harder, although with CodeDOM it gives you line numbers and compilation errors etc.