Noise Texture uses Generated coordinates, which often cause stretching.
You have three ways to correct it:
Use a Mapping node to correct the stretching
Use your UV map coordinates
Use Object coordinates
Per your link:
The tangent direction can be derived from a cylindrical projection
around the X, Y, or Z axis (radial), or from a manually created UV
Map for full control.
Geometry -> Tangent is giving you the same output as the Tangent node set to Radial Z.
The shading artifacts are being caused by the n-gons surrounding the circle, as well as a lack of supporting geometry. As a quick fix, you could try selecting all the front faces that aren't part of the circle and giving them a slight inset:
Before inset (faces selected):
First, the initial results are good.
I would say don't connect the same thing to both normal sockets. Do use the clearcoat normal (and I'm a fan of including whatever level of microdetail you want) but consider mixing in much larger scale imperfection as well, to try and coax this type of imperfect reflection from the clearcoat layer.
Make another bump ...
I came across this question when I was googling about the same problem. This worked for me.
selection = bpy.context.selected_objects
for o in selection:
bpy.context.view_layer.objects.active = o
You could create your icosphere, duplicate it with ShiftD, select one of the two, go in Edit mode, select all and split the faces (Mesh > Split > Faces by Edges):
Then extrude with E, press Enter right away, and scale up with Transform Pivot Point > Median Point selected:
Now you have your two objects, the core and the outer sphere. You can ...