How to setup netplan with additional loopback addresses but mainly use NetworkManager?

I'm not sure this is the "correct way" but it indeed works like you want it to.

You can set which renderer to be used for the loopback interface like below, edit the file /etc/netplan/01-network-manager-all.yaml (or your *.yaml file):

# Let NetworkManager manage all devices on this system
network:
  version: 2
  renderer: NetworkManager
  ethernets:
    lo:
      renderer: networkd
      match:
        name: lo
      addresses:
        - 172.16.123.1/32

Tested and works as expected on Ubuntu 18.04 Desktop.

Hope this helps.