Yeah, I ran into that too. It’s k3s’ ServiceLB just being special. My solution was to run k3s with ServiceLB disabled, and instead run MetalLB. The only catch here is that you have to set aside a portion of your network for MetalLB to consume. Just a few IPs, pretty much one per LB you’re going to have in the cluster. So if you’re only going to have gitpod running on it, which channels everything through it’s proxy you can get away with just giving it a /30 or so.
The way MetalLB handles it is by spinning up a virtual IP for each LB to handle forwarding, and broadcasting the mac for that IP as the host interface. Pretty simple. If you comment and want my configs I can share a walk through.