For the dynamictopic node, you can raise an issue on github. I think this is caused by some internal node-red changes over time and how to deal with credentials.
As an intermediate solution, you can use 1 mqtt node, subscribe to #
you will receive everything and then dynamically filter what you need like:
[{"id":"1887d627.63360a","type":"mqtt in","z":"3be588bc.0b684","name":"","topic":"#","qos":"2","datatype":"auto","broker":"228872c0.fd94d6","x":484,"y":330,"wires":[["f403c56f.ac6b88"]]},{"id":"5a0b212c.3fd128","type":"debug","z":"3be588bc.0b684","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"true","targetType":"full","x":798,"y":330,"wires":[]},{"id":"f403c56f.ac6b88","type":"switch","z":"3be588bc.0b684","name":"","property":"topic","propertyType":"msg","rules":[{"t":"eq","v":"topic1","vt":"str"},{"t":"eq","v":"topic2","vt":"str"}],"checkall":"true","repair":false,"outputs":2,"x":622,"y":330,"wires":[["5a0b212c.3fd128"],[]]},{"id":"228872c0.fd94d6","type":"mqtt-broker","z":"","name":"mqtt","broker":"10.0.0.202","port":"1883","clientid":"","usetls":false,"compatmode":true,"keepalive":"60","cleansession":true,"birthTopic":"","birthQos":"0","birthRetain":"false","birthPayload":"","closeTopic":"","closeQos":"0","closeRetain":"false","closePayload":"","willTopic":"","willQos":"0","willRetain":"false","willPayload":""}]
You can filter dynamically based on variables if needed.