Can I drag a window onto another workspace?
You have a few options:
Use keyboard shortcuts
Use Ctrl+Alt+Shift+Left/Right/Up/Down to move the current window as you change workspaces.
Use the Workspace Switcher
Open the Workspace Switcher (Click the "Workspace Switcher" icon in the launcher or press Super+S) and then drag-and-drop windows between workspaces.
Disable edge resize actions
Install the CompizConfig Settings Manager, set the options in Grid ▸ Edges ▸ Resize Actions to None, and check Desktop Wall ▸ Edge Flipping ▸ Edge Flip Move.
Simple way: Use workspace switcher and drag the window to your desired workspace.
Ideal way: install compizconfig-settings-manager (click HERE to install) and enable edge flipping.
After installing, invoke compizconfig-settings-manager with ccsm
or by searching in Dash. Select Desktop Wall and in the Edge Flipping tab check "Edge Flip Move."
Now you can drag windows between workspaces. (Note your pointer needs to press against the side of the workspace around the middle.) It takes a second before the viewport changes.
Compizconfig-settings-manager can also set keyboard shortcuts to move windows between workspaces:
The older way of dragging a window outside the screen was sending it partly to another workspace because the "window snapping" feature was absent (the one that you experienced: "if I drag a window to the side of the workspace, the window is maximized to half of the screen"). Now, it is enabled by default. Do disable it, install Unity Tweaks Tool: Window snapping: OFF.
But there is another more elegant way which keeps the window snapping enabled by using Unity Tweaks Tool.
This may vary, but imagine that we have two horizontal workspaces and the lower hotcorners set for showing workspaces and spreading windows:
So, we can just go with the pointer to lower right corner to expose all windows and select the one we want to move
And when that is selected, we put the mouse to the lower left corner to see all workspaces and drag the window where we want: