Describe the project you are working on:
Visual shader plugin with many premade effects (something like Unity plugin Shadero Sprite)
Describe how this feature / enhancement will help your project:
Currently it's impossible to get access to uniform sampler2D. It's necessary for multisample effects. For example, I can't create blur, chromatic aberration, outline nodes. With access to uniform textures (not only TEXTURE) it'll be possible to create more complex materials.
Show a mock up screenshots/video or a flow diagram explaining how your proposal will work:
There are Sampler Uniform node, and Texture Uniform node.

Describe implementation detail for your proposal (in code), if possible:
[1] should be moved to new uniform sampler node. Add new PORT_SAMPLER to PortType enum in VisualShaderNode. Add sampler input node [2] to TextureUniform.
Or maybe just add PORT_SAMPLER and UniformSampler node without changing texture uniform node.

If this enhancement will not be used often, can it be worked around with a few lines of script?:
It can't be worked around, as i know (only with expression node, but as iFire said, it's a bug)
Is there a reason why this should be core and not an add-on in the asset library?:
Because sampler2D is core data type.
@Chaosus , can you take a look, please?
TextureUniform is actually declaring the uniform. It makes sense to add the sampler port to the output of this node, not an input. Its a little confuse that this node using _uv_ and _lod_ input parameters, so I guess they may be removed if we are not preserve backward compatibility for 4.0. The sampler input port should be added to Texture node which can be renamed to SampleTexture2D. That's my thoughts.
Closing as implemented in https://github.com/godotengine/godot/pull/32461
Most helpful comment
Closing as implemented in https://github.com/godotengine/godot/pull/32461