Is one of the two export.so files a copy of the other one? If so, you seem to have run into issue #19004.
If each export.so has been compiled from its own source, then it might be a new bug. I haven’t found the time (in front of a Linux shell) to try replicating the behavior, so I am only guessing. But the docs say that plugin.Open() will happily return an already loaded plugin if loaded a second time, so the error message “plugin already loaded” makes no sense in your test code. So most likely it is a bug.