My thought is "no."
Old site A is to be redirected to corresponding pages on new site B without altering the URL, that is, example.com/widget.html 301's to example2.com/widget.html.
The catch: there must be an interim message for users "why you have landed here" as a legal requirement.
It would be easy to do example.com/widget.html?f=a and use the query string as a hook in site B's .htaccess, but that changes the URL and you now have two pages, duplicate content.
My thought is do a cloak of sorts for S.E's. The only difference would be a line of javascript for the non-SE version to display the message. It's my understanding "cloaking" is only an issue if you serve significantly different content to the S.E's. The content would otherwise be exactly the same.
Am I correct? Would this work without loss of indexing?