It’s the same as in UMG, since that is just a wrapper for Slate. When you can’t figure out what’s happening, toy around with a UMG prototype to try and understand.
Bear in mind that the Canvas is a bit of a unique widget in that it doesn’t return a desired size. Therefore, unlike most other widgets, you can’t just drop a canvas and expect it to give Slate a proper size, because it will always be zero. You instead have to make it take up the space granted by its parent – that is, Fill align.
Edit: Just noticed I misread your post, the alignment and positioning is indeed set on the canvas rather than the slot, so this paragraph doesn’t really apply, but I’m keeping it around for clarity’s sake. Change your SCanvas to use HAlign_Fill/VAlign_Fill. This will make it take up the entire space of its parent, i.e.: the entire viewport, thus allowing you to position child elements absolutely within the Canvas. The location and alignment you are trying to set on the Canvas are supposed to be set on the canvas’s slots, which is something that’s not immediately apparent when editing widgets through UMG.
Also, it’s important to note that UMG’s Canvas wraps SConstraintCanvas, which has different terminology and functionality than SCanvas. Alignment is provided through floating point values instead of enums, anchors allow positioning widgets relative to different points than the top left corner, you can use AutoSize, etc. Take a peek at the slots for each of those widgets and see if one fits your needs better than the other.
Finally, a very useful tool that you should be using is the Widget Reflector, accessible in the Editor through Window > Developer Tools > Widget Reflector. It’ll help you diagnose stuff like widgets collapsing due to being given a size different from their desired size, etc.