Okay so to work around this issue I had to do the following:
1) Set the original canvas size to a square, 180 x 180. This allows me to adjust the height manually to fit screen size.
2) Set Fullscreen mode to "Letterbox scale". This centers the square canvas on the screen with black bars on the top and bottom.
3)On Start of layout -> Set canvas size:
- Width = OriginalViewportWidth
- Height = floor(PlatformInfo.ScreenHeight/(PlatformInfo.ScreenWidth/OriginalViewportWidth))
This sets the height of the canvas to the size of the screen, but to an integer value. I use Floor instead of Ceil or Int because if the height ended up larger than the screen height then we'd get tiny black bars on the right and left sides of the screen.
In my tests this only works on Mobile, not in preview mode in my browser on PC. So when setting the size you'll want to use PlatformInfo to check "Is on mobile". If so, use this scaling technique. If not, you must figure something else out. In my case, when not on mobile I decided to force the canvas size to [OriginalViewportWidth] x [floor(OriginalViewportWidth*(16/9))].
Code to copy in to C3 if you want to use this method: