After that I put the Hub 4 into modem mode and connected it to my Netgear Nighthawk R7000.
Two things I noticed after switching the Hub 4 to modem mode.
My public IP address switched back to old public IP address (before I upgraded to Hub 4).
My peak download speed went from 943 Mbps to dead on 362 Mbps (the old speed I was getting on the M350 package).
I know the issue must be to do with how the Hub 4 is registered on the WAN network because if switch the Hub 4 back to router mode my public IP switches back to what it was before and Gig1 speed returns.
If I connect my Netgear Nighthawk R7000 in bridge/switch mode to the Hub 4 I get effectively the same speed as I would if I was connected directly to the Hub 4.
So I've ruled out it's a fault between the two.
Any ideas why my public IP address and speed changes when putting the Hub 4 into modem mode.
I ended up fixing the issue, posting the solution for anyone else who gets stumped.
One thing I failed to mention in my initial post is that my Netgear Nighthawk R7000 router is running the FreshTomato custom firmware (highly recommend it if you have a compatible router).
It appears I needed to enable the CTF (Cut-Through Forwarding) under Advanced > Miscellaneous.
If this option isn't enabled your router may be bottle necking your WAN speeds, see the following description taken from the wiki.
CTF (Cut-Through Forwarding)If set, this will enable hardware acceleration. For example, this would allow you to use your FreshTomato device in a WAN Gigabit environment. With this option disabled (Default), your WAN-to–LANperformance will depend on the hardware model in use. You might get anything between 200~400Mbps on ARM devices. NOTE: Enabling CTF will disable QoS and Bandwidth Limiter, since the switching part of the packet bypasses parts of the standard Linux iptable chains.