This is probably not a bug, and maybe only I am surprised (others might have noticed), but I was expecting the "full screen" dc to return the same value for width whether I'm in a datafield or watch-app. But it turns out, that at least in the simulator (SDK 8.1.1):
datafield: dc.getWidth() => 156
watch-app: dc.getWidth() => 163
I did notice the strange screen-size: 163x156, while all the other semi-octagon devices have similar height and width.
It turns out that the reason for this is that the sub-screen has a 7 pixel bump on the right compared to the right side of the "big screen" area.
This has a funky effect when some of the visuals are positioned relative to the width, because in the watch-app the right side is "missing":
datafield (right side of the time (88:88) and the mount icon are correctly positioned):
watch-app (right side of the time (88:88) and the mount icon are IN-correctly positioned):