This means the FortiGate is dropping the packet because the Source IP for the packet is not in a subnet that it has a route to on the interface it is coming in on.
In other words, if the packet has a source IP of 10.0.0.1 and it's coming in on the interface 'lan', the FortiGate will not forward it if it does not have a route to 10.0.0.0/24 via the 'lan' interface. This is reverse path forwarding and is a method of preventing IP spoofing.
Since you only pasted a snippet of the trace we do not know the whole story so it's hard to say. But chances are you have no route pointing Provider A for your PC's public IP address.
If you're coming from the internet, unless you advertise the public subnet where the VM sits in only through Provider A side toward the internet, instead of advertising via the default internet provider, your access to the VM's public IP always comes from the default internet provider (right side in your diagram). Never comes via Provider A unlike your inbound orange arrow.
The returning direction will follow the reverse direction of the inbound/original direction based on the session. You won't be able to change that.
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.