For each scope in DHCP (for each vlan) you need to define the controllers IP, that's all you need to do, after that normal IP routing will do the rest. Once the AP learns the controller it will remember it, but it's still best practice to define dynamic discovery, this makes for easier adds/moves/changes.
As you say, tagged for ap, untagged for user, is fine, keep in mind when provisioning the AP you will need to define the vlan before deployment; for that reason, often it's easier to do things the other way round, untagged for ap, tagged for user, either method is fine.