Nodes are not scaled by default, so to scale a node you need to explicitly say that you want the node scaled. This is accomplished either by using a scale=X option in the node options, or by using the transform shape option to apply the current scaling to a node.
Transformations on a scope apply to their coordinates, as do options passed directly to the \path command.
The command \node[options] ... expands to \path node[options] so the options are only applied to the node and not to the path it is defined on.
So there are multiple ways that a node and a transformation can be specified, and the effects can be a little confusing. Here's an attempt at summarising:
\node[scale=2] at (0,1) {P}; % contents, not coordinate
\path[scale=2] node at (0,1) {P}; % coordinate, not contents
\path[scale=2] node[scale=2] at (0,1) {P}; % both
\path[scale=2] node[transform shape] at (0,1) {P}; both
Using a scope environment works the same way as \path[...] node.
Note that this also applies to other transformations, there's nothing special about scaling here.
Here's some code to illustrate this:
\documentclass[tikz, border=3.14mm]{standalone}
%\url{https://tex.stackexchange.com/q/737730/86}
\begin{document}
\begin{tikzpicture}
\draw (-1,-1) grid (3,3);
\fill[red] (0,0) circle[radius=2pt];
\begin{scope}[scale=2]
\node[red] at (1,0) {A}; % scale coordinate, not node
\node[transform shape,green] at (1,0) {B}; % scale coordinate and node
\end{scope}
\node[scale=2,blue] at (1,0) {C}; % scale node, not coordinate
\path[scale=2,orange] node at (1,0) {D}; % scale coordinate, not node
\path[scale=2,magenta] node[transform shape] at (1,0) {E}; % scale coordinate and node
\end{tikzpicture}
\end{document}

Ps should be the same.transform shape. Transformations on the scope apply to all coordinates within that scope, but options on thenodeare for the node, not its location, so thescaleoption in your first only applies to the node itself and not to its location. If you want both, try\path[scale=2] node[scale=2] at (0,1) {P};transform shapeor\pgflowlevelsynccmto scale the node contents, and that the (node) optionscalewould otherwise only affect the node's coordinate. Thank you for clarifying this for me. Would you be interested in posting an answer?