You need to place COUNTER as a child of Loop Controller, not If Controller. In this case you'll get the following scenario:
HTTP Request 1 (loop 1)
HTTP Request 1 (loop 2)
HTTP Request 1 (loop 3)
HTTP Request 1 (loop 4)
** HERE we're getting out of Loop Controller and go to 2nd Loop of Thread Group, If controller doesn't fire as counter value is 4 and condition is >4**
HTTP Request 1 (loop 5)
HTTP Request 1 (loop 6)
HTTP Request 1 (loop 7)
HTTP Request 1 (loop 8)
** HERE counter value is 8 and If controller condition is met so **
HTTP Request 2
Being child of If Controller counter isn't getting incremented
Counter Configuration:
- Start: 1
- Increment: 1
- Reference Name: N
If Controller Configuration:
${N} > 4
See How to use JMeter's 'IF' Controller and get Pie guide for more details.