How to bootstrap onto remote microk8s instance?

I would like to bootstrap onto a remote microk8s instance that’s available via on the local network. The exact scenario is that I have a beefy desktop with a GPU that has microk8s installed, and a laptop that has Juju installed. I was able to add the microk8s instance as a cloud to Juju with the command found here:

However, when bootstrapping to that cloud, Juju attempts to talk to the controller pod’s ClusterIP address, which won’t work over the network.

I got this working by first bootstrapping a controller to LXD, then adding the remote microk8s instance to that controller:

juju bootstrap lxd $CONTROLLER
juju add-k8s $CLOUD --storage=microk8s-hostpath --region=microk8s/localhost < kubeconfig
juju add-model -c $CONTROLLER kubeflow $CLOUD

Update: Not quite working. The operator pods booted up, but are trying to talk to the internal LXD networking on my laptop, which isn’t exposed to the network.