Elastic Load Balancing blog post about TLS Termination on Network Load Balancers! This includes the ability to preserve source IP to your targets while terminating / offloading TLS.
Browsers typically use a few connections to load a page so that it can load faster. Each of those threads has a different source port, and thus may route to a different target.
In Colm's demo, it depends which thread your browser uses when requesting the part including the CSS which decorates the object.
In my Chrome on Mac I see 6 TCP connections to the demo NLB
tcp4 0 0 192.168.100.101.49615 54.69.111.179.80 ESTABLISHED
tcp4 0 0 192.168.100.101.49614 54.69.111.179.80 ESTABLISHED
tcp4 0 0 192.168.100.101.49613 54.69.111.179.80 ESTABLISHED
tcp4 0 0 192.168.100.101.49612 54.69.111.179.80 ESTABLISHED
tcp4 0 0 192.168.100.101.49611 54.69.111.179.80 ESTABLISHED
tcp4 0 0 192.168.100.101.49610 54.69.111.179.80 ESTABLISHED
Each of those will be routed to the same target, so it's up to your browser to decide which to use for what.
Better off depends on what your workload goals are.
If you want path or host name based routing, Application load balancer may be a better fit as it natively supports WebSockets.
If your goal is long lived sessions (weeks and months, not minutes and hours), Network load balancer is probably a better fit.