Through some research and some experiments I found out some things that may helped me understand my problem better and may also help some of you. A Windows 10 Project to Roku connection uses MiraCast. Miracast creates a peer to peer network and does not normally use your WiFi or wired LAN. Miracast does have the option to use your LAN if it gives it a better connection. However, the MiraCast discovery will ALWAY use the peer to peer method. My computer is under a desk and probably has weak wifi anyway, while my Roku Ultra is in another room. Both are on the same wifi LAN, but they don't see each other as peer to peer for discovery. My Roku Express is in the same room as the desktop so it is seen during discovery. Casting from Chrome to Roku (Chromecast) only works for certain apps (like YouTube) that have a Cast icon. Chromecast discovery is through your wifi LAN, so it will see every device on your wifi or wired LAN. Chrome (and, recently, Edge) can Cast anything including tabs and desktops to a Chromecast on my TV. This works great, by the way. To Roku, they can only cast certain apps. A Samsung phone also uses discovery over wifi to find it's available devices. I am not sure if the phones and Chromecast actually send screen mirrors over your home wifi LAN (through your router) or over a peer to peer connection once they have made their discovery. I strongly suspect they send the screens through your router.
What I ended up with is a physical Chromecast that I use only for casting from a PC on a different TV HDMI than my Roku, which I use for all my casting needs except from a PC. I have not tried this yet, but I suspect that I will also use the Roku for casting from Apple devices, since my Roku Ultra now has AirPlay support.
It really seems odd that Roku would add AirPlay support but not ChomeCast support. Their MiraCast support seems to work okay, but it doesn't meet my needs because the discovery fails because the PC and Roku are in different rooms. This is a problem with the MiraCast standard and not Roku.
A few points:
1) Roku doesnt support GoogleCast (aka ChromeCast protocol) - Roku supports DIAL, Miracast & AirPlay2. YouTube and NetFlix have DIAL support (casting protocol; original GoogleCast protocol used this), which Roku does support, so you can cast from any DIAL-enabled apps.
2) MS Edge actually supports Miracast (for mirroring), DLNA (for casting) and GoogleCast (mirroring and casting) on Windows, depending on the W10 build and Edge configuration.
3) Miracast (or more specifically, WiFi Display) has two versions, and both support WIFI Infrastructure or WiFi P2P for discovery and/or connection, depending on the version and on the current connection configuration for the devices at the time of the mirroring.
4) Being in a different room has no bearing on Miracast discovery (or usage), other than as it may be impacted by: different subnet, LAN-side multicast filtering/blocking/limiting, and poor signal/interference (all can/may cause problems for Miracast and other multicast-reliant protocols).
(e.g I routinely screen mirror (Miracast) from several different Samsung phones models to several different Roku (and other device) models (connected to several different TVs/home theater systems), from other floors/rooms/outside without issue, either on 2.4Ghz or 5Ghz.)
5) Roku has had issues with their Miracast code in the recent past, that specifically caused 2.4Ghz-based connections to fail (5Ghz worked fine) - this of course caused complete Miracast failure on 2.4Ghz-only Roku devices (like say, Express models). So in fact the "problem with the Miracast" standard is far more likely to be a "problem with the Roku firmware Miracast code".
6) Windows can be notorious at times to correctly configure to Miracast - so again the likely culprit isnt the Miracast standard itself, but rather the specific MS implementation coupled with specific system configuration (hardware/drivers/settings).
7) GoogleCast support would be a bit redundant, since Miracast & DIAL are already supported; however, nothing precludes a future licensing/inclusion deal (after all, AirPlay2 came to Roku...)
😎 Its good to have multiple streaming devices using different platforms (I recommend at least 3), for all sorts of reasons, including app carriage/compatibility/functionality differences, bad firmware/app updates, hardware/functionality differences, and standards/protocol differences (e.g. Miracast or GoogleCast, etc).
9) Samsung phones with more recent versions of Android/OneUI/SmartView support casting/mirroring using Miracast, GoogleCast, DIAL, and DLNA making them first-class casting/mirroring devices. Specific casting/mirroring connection usage depends on the protocol used and the current connection state of both the receiving & sending device.
10) There are a series of simple troubleshooting steps when attempting to screen mirror/cast using any of the protocols (DIAL, Miracast, GoogleCast, AirPlay2) when devices arent discovered/connections fail; its most likely you didnt utilize all of them (starting with simply disabling/re-enabling the wireless connection of the casting/mirroring devices, followed by switching from 2.4Ghz to 5Ghz or vice versa, followed by restarting all of the relevant devices, etc etc). Try those first, followed by the Win10-specific steps second (when casting/mirroring for Win10..)