That's only a problem for XHTML. HTML5 implicitly closes the previous <p> tag when you open the next one; thus, a <p> inside a <p> is an implicit </p><p>, if you will.
Feature. <p> tags can function as containers for text and other elements, and VS Code can't distinguish between <p>, with the special handling, and <div>, without it.