Opened a bug ticket for this as I think if this is implemented via separate services in the native backend, then not using the preserve parameter actually is a bug.
https://github.com/opnsense/core/issues/9793
https://github.com/opnsense/core/issues/9793
"