The answer is actually yes, but not without a little work. In step 3, your return URL is overridden with the one you configured in ACS RP from the default ACS login page. This is the default ACS page where you select an identity provider. (You may not always see it in the browser, it will be redirected automatically if you have only one IDP configured.)
You can tell ACS to use a custom login page that you host on your own so that this original URL is saved. You can load the default ACS login page from the ACS port as something that could be disabled.
The hard part comes from the fact that different identifier providers using different protocols use different mechanisms to keep this original URL.
Below are some additional examples and code examples that can be found here, and you can find further solutions to this problem elsewhere on the Internet:
How to return return URL again after loading login page from Azure ACS?
source share